UDP小问题,可能一时糊涂,未想清楚。请各位大侠高抬贵手,,解答一下吧。(40分)

  • 主题发起人 zxp_ping
  • 开始时间
Z

zxp_ping

Unregistered / Unconfirmed
GUEST, unregistred user!
以下是我跟一位大侠的讨论:
zxp 说:
我现在是利用UDP进行局域网内同外部网机器通信,外部网机器的接收程序正常接收,但发
送是不太正常。。我在发送时的RemotePort改为收到时的Port号,,一个UDP对一个UDP是
正常,但我加一个UDP(外部)对里面同一个UDP发送时,似乎里面的并没接收到。?
zxp 说:
一定要一个UDP对一个UDP?我想应该不是的呀,我在同一个局域里却可以,但将接收程
序放到外部网机器上就不行了。
OopsWare 说:
udp的广播是网段那的,
OopsWare 说:
udp面向广播,tcp面向连接
zxp 说:
你意思是丢失?
OopsWare 说:
udp的收发好像不能使用用一个端口,不如就收到自己发的内容了
zxp 说:
还有一个比较奇怪的就是,我外部接收程序接收时测到的PORT居然有几个UDP都是同一个数
字?
zxp 说:
一个LocalProt,一个RemotePort呀。我都设置了不同数字。
OopsWare 说:
网关和路由是不会转发UDP广播的,不然internet上有一台计算机使用udp广播
岂不在所有地方都可以接收了?
zxp 说:
我不是发广播呀,我是对那个IP发的信息,QQ不也是这么发的吗?
OopsWare 说:
这我也说不很清,实时的流媒体广播也是udp,
zxp 说:
代理服务器绑定端口是什么原理?
zxp 说:
我认为用UDP发送时如果是指定了IP的话,应该是只对某一个IP发。而不再是广播
OopsWare 说:
嗯,同意
OopsWare 说:
你必须使用UDP吗?
zxp 说:
代理服务器代理上网时将客户机的端口登记起来,然后自己找一个空闲端口转发,。。。
是不是这样的?
zxp 说:
是呀,现在只能用UDP了,
OopsWare 说:
如果是多个客户端同时接收一个服务的就只有udp了。代理的东西我没看过...
zxp 说:
我现在又在试:
一个简单的发送消息程序,我先是运行一对(外,内网机器对应)发送正常,然后在外
部网机器再运行一个,IP地址,目标端口一样,但发送就是发不到内部的机器上,但另
一个还是可以正常发送?
zxp 说:
而内部网运行两个,却都能正常发送到外部机器上
zxp 说:
我认为是代理服务器方面有原因。
OopsWare 说:
可以考虑使用100以内的端口
zxp 说:
100以内的端口有什么好处?
OopsWare 说:
例如21,25这些端口代理一般都支持,有时一些代理不转发某些端口或没开放
zxp 说:
哦,不过越低,可能会跟别的程序冲突,我想我这里不是这样原因,我们没有禁止端口。
OopsWare 说:
可以作个测试,排除代理服务的原因
zxp 说:
因为我用一以一时通信已经正常。。。是不是已经正常?
 
你如果用2个UDP server通讯就可以了,都帮定一个端口
 
如果用TNMUDP的话,实现不了吗?
 
TNMUDP太烂,我是用ICS的
 
哎,惨呀。那岂不要大换血?
 
就是换点东西,不麻烦
 
照理说,局域网内用UDP向网外发信息是正常的,但从局域网外往网内发UDP信息是无法收到的,
因为在局域网内使用的是内部地址,在网外的机器看网内的机器IP是代理上网机器的IP,所以
会出现你所遇到的情况,建议你使用TCP吧。
 
多人接受答案了。
 
HI,你说的是没有觖决问题呀!

大家多指教!

65466700是我的QQ
 
顶部