现在有两台设备,通过工具ONVIF Conformance Test一台设备组播 端口设置3702.另一台设备收到组播信息后单播发送回应包.
通过wieshark抓包获取到发送回应包设备端口为2050,请问下不同端口为什么可以通信的?这应该怎么实现?
------解决方案--------------------------------------------------------
UDP协议中并没有要求通信的两端要端口一致。如果要求一致那么报文头结构中就不需要源端口和目的端口两个字段了,只要一个就可以了,端口只是用来标示应用的。至于怎么实现,建议你看看rfc791(IP)和rfc768(UDP)这两个协议。网上也有很多这些协议的开源程序。
------解决方案--------------------------------------------------------
IP+PORT 标明了应用的通信标记。知道双方对方的IP+port就能通信,不用一致。
------解决方案--------------------------------------------------------
看看《WinSock网络编程经络》,这是比较常用的通讯方式,这里有很多socket例子,其中Sntp是用多播实现的。
http://download.csdn.net/detail/geoff08zhang/4571358