关于拨号和socket编程的问题

Himing 2001-08-03 07:24:05
我在unix机上起了一个进程,然后在widows98上写了用VC写了一段程序(用类CSocket),通过TCP/IP协议(Scocket)与之通讯,在局域网上或得了成功,但windows微机通过拨号、路由后与unix主机联网,该程序不能工作,unix主机的accept()未被唤醒、响应。请问原因可能出在哪里?拨号网络工作正常,微机可通过Telnet登录unix主机。
...全文
118 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Himing 2002-05-14
  • 打赏
  • 举报
回复
我的机子运行windows95,telnet也是不能直接登陆unix主机,但可先登陆路由器,再从路由器telnet登陆unix主机.
Kevin_qing 2001-08-16
  • 打赏
  • 举报
回复
还有这种事情啊
还好我是不用MFC的
csdnflysnow 2001-08-16
  • 打赏
  • 举报
回复
试试在client端bind时指定的地址是拨号的网络地址.而不是INADDR_ANY
MeKing 2001-08-16
  • 打赏
  • 举报
回复
我也碰到了同样的问题,在win2000上写了一段程序(用类CSocket),服务器是WIN2000,通过拨号上网,向服务器发送STREAM流,服务器没有响应,而在局域网上向我自己编写的服务程序却能接受。请问原因可能出在哪里?
csdnflysnow 2001-08-16
  • 打赏
  • 举报
回复
因为可Telnet 上unix主机,所以网络肯定没问题,本来应该不会出现这种情况的.
我怀疑是双IP地址的问题,一个是网卡地址,一个拨号地址,而系统存在在路由上有问题才会出现这种情况.所以可强行指定创建的socket在拨号地址上.

就是你Socket 在Create时最后一个参数添上拨号的地址,而不是由NULL(系统选择).
MeKing 2001-08-16
  • 打赏
  • 举报
回复
csdnflysnow() 
能说的详细 一点吗?
SeaBirds 2001-08-16
  • 打赏
  • 举报
回复
你UNIX下不是固定IP吧?(是通过网关连的INTERNET的话,外面的包怎么发得进来?)
你98下的程序发到的PORT,在网关机上会为你转发到UNIX机上吗,我想就是这个问题。

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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