• 2334阅读
  • 1回复

UDP小程序 [复制链接]

上一主题 下一主题
离线weilp
 
只看楼主 倒序阅读 楼主  发表于: 2013-01-25
      最近刚开始看网络编程这块的内容,遇到一个小问题
      写了个很小的测试程序,基于UDP协议传输,客户端程序向指定IP地址的指定端口发送数据,服务端接收数据并打印,程序基本上能正常运行,但出现这样一个问题,
      比如:本机IP为192.168.1.125,回环地址为127.0.0.1,那么,如果在服务端程序设置IP为127.0.0.1,端口设置为4444,客户端也必须把IP设置为127.0.0.1以及相同的端口,数据才能正常传输;如果把客户端设置成192.168.1.125,还是一样的端口号,数据就传输不过去。但回环地址不就是代表本机吗?为什么不行?
       用netstat看了下,UDP端口中同时出现了127.0.0.1:4444以及192.168.1.125:4444这两个端口,不是很理解为什么会这样?那是不是说明这其实是两个不同的端口?可这样一来,又怎么理解回环地址代表本机的说法呢?
离线hehui

只看该作者 1楼 发表于: 2013-01-31
你的C和S在同一台机上运行吧?
如果是的话你都用回环地址127.0.0.1和同样的端口当然能收到数据了,用回环地址没有意义,它只是用来内部测试的。

端口有独占和复用两种模式。
你可以试下C和S分别绑定不同的端口号试下
快速回复
限100 字节
 
上一个 下一个