点对点UDP通信过程中,用的8001端口,一般情况下通信都没有问题,但是在xp操作系统下,因为系统internet防火墙的原因,消息传送不通,请问是不是端口设置的原因,有没有其它可用端口能避免这个问题?或者有更好的方法解决这个问题。
qq也是采用udp通信,根据服务器发送来的给来的数据包知道你好友在线的IP,然后当你向好友传送消息的时候,就是根据好友的IP通过UDP协议向对方发送数据包,对方机子上的OICQ收到的你的数据包的时候就反馈一个数据包给你表示已经收到你的消息,否则的话就一直发送。 等到对方反馈数据包为止。当到一定时候对方一直没有反馈数据包给你的时候,就通过服务中转。
假如自己处于xp的防火墙之下,发送数据包对方如果收到,这时候对方回复消息给我被挡在门外,我怎么知道对方有没有收到我的消息呢?请问有谁知道qq这种情况下qq是怎么处理的?
看这个文章:
http://www.codeproject.com/useritems/iphlpapi.asp?target=udp
qq的处理方法是:回复的数据包如果对方收不到,就发到服务器上。而接收方如果收到处于xp的防火墙之下收不到回复消息,就会定期到服务器上查询。
用时间超时机制