UDP通讯的几点思考
UDP的创建是有三种方式的,一种是socket,一种是原始的RAW,采用回调的方式接收数据,还有一种是netconn,如果是socket的话会不断地建立和退出,现在我们单板下面的客户端不是socket,而是直接建立的客户端,绑定IP之后,就回调,相当于一直在监听数据,服务端任何时候发数据过来都可以接收得到。
其实UDP是没有太多这个服务端和客户端这个概念的,只要绑定了之后没有退出就可以一直通讯
服务端单方面发送不了数据到客户端,可能原因如下:
1.服务端那边,如果是单方面中断的话会导致客户端发送的消息发不到(应该这种是不太可能)
2.服务端数据实际上没发出来
3.最简单的解决方法,服务端记住要操作哪个客户端,等心跳包来之后,处理完数据再退出,轮询的时间应该是很短的
4.没有绑定远端地址,或者在发送的过程中端口号和地址被程序里的其他因素改变了