●●● 为何在因特网环境下我的客户端不能连接服务器?(TCP、socket) ●●●

SGUav 2006-10-10 12:49:23
实验环境是这样的:

服务器端运行于 WinCE4.2 下,通过 GPRS 无线接入移动 CMNET 后获得一个分配的地址 10.127.2.200,浏览器可以浏览网页。
客户端位于台式机上通过无线路由器经ADSL接入因特网

服务器端及客户端我均封装成类,在PC机组成的局域网中运行完全正常,在PC与WinCE通过网线直连情况下也运行正常。

但在上述实验环境中客户端socket创建成功但 connect 函数执行失败,调用GetLastError后返回错误代码 10060

我在 PC 端 ping WinCE 平台的IP 10.127.2.200 也无法 Ping 通

请教大家会有什么样的原因造成上述情况?应如何解决?

谢谢!



...全文
243 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
SGUav 2006-10-15
  • 打赏
  • 举报
回复
非常感谢您的帮助!
mudinlove 2006-10-10
  • 打赏
  • 举报
回复
不好意思,点错键...

LZ客户端机子 服务端(移动 CMNET分配地址10.127.2.200)
| |
| |
经过网关A出internet <----> 通过GPRS经网关B出internet
(子网A) (子网B)


这就是说LZ在一私网(子网A)中ping另一私网(子网B)的一台主机...


mudinlove 2006-10-10
  • 打赏
  • 举报
回复
服务器端运行于 WinCE4.2 下,通过 GPRS 无线接入移动 CMNET 后获得一个分配的地址 10.127.2.200,浏览器可以浏览网页。

可以猜想得到,服务器在一网关后,下面给出一个示意图:

LZ客户端机子,随便假设为192.168.1.2
|
mudinlove 2006-10-10
  • 打赏
  • 举报
回复
我在 PC 端 ping WinCE 平台的IP 10.127.2.200 也无法 Ping 通

这个是关键...10.开头的地址和192.168.开头的地址都是保留的私网地址...也就是你在客户端ping一个不知道在哪里的私网的ip地址...所以根本不可能ping到...

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧