【问题标题】:New To Socket Programming, Need Help Understanding How To ConnectSocket 编程新手,需要帮助了解如何连接
【发布时间】:2010-02-13 23:38:35
【问题描述】:

我有一个 C++ 程序正在侦听端口 2222 上的传入套接字连接。 我有一个 Adob​​e AIR/Flex 应用程序,当我单击一个按钮时,它会尝试连接到它。

当我通过 Intranet 连接到我的套接字时,我的 C++ 程序会听到并接受传入的套接字连接,并且一切正常:

var Sock:Socket=new Socket("192.168.1.100",2222);

但是当我尝试使用我的真实 IP 进行连接时,我收到错误 #2031:

var Sock:Socket=new Socket("76.18.24.118",2222);

这两个程序都在我的笔记本电脑上运行。我在路由器后面,但已为该路由器配置了端口转发,以便端口 2222 映射到我的笔记本电脑。

我错过了什么?我对此很陌生,所以也许我错过了一些对你来说很明显的东西。

【问题讨论】:

  • 你有跨域策略文件吗?

标签: c++ sockets


【解决方案1】:

错误代码是什么意思(请参阅您的套接字文档) 您确定接收服务器进程处于活动状态吗?

传统的起点是Beej's guide

【讨论】:

    【解决方案2】:

    端口转发并不意味着您可以使用外部 IP 地址,您的笔记本电脑仍然在私有 192.168 网络上。这意味着当有人尝试连接 78.18.24.118:2222 时,路由器会将 IP 地址转换为 192.168.1.100:2222。这有效地允许您在网络内运行服务器,但允许外部客户端连接到您。

    查看DNAT了解更多信息。

    【讨论】:

      猜你喜欢
      • 2011-09-12
      • 1970-01-01
      • 2023-04-07
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-17
      • 2017-06-19
      相关资源
      最近更新 更多