最近在做一个聊天的项目。很有趣。日夜都在看相关资料。
直接挑重点讲,移动互联网的资源相当有限。如果你想使用UDP通信的时候,你的端口不是你想要绑定哪个端口,就能绑定得到的。
在终端上,使用bind 时候,你绑定任何端口,都实际等同无意义。它只是全端口绑定了侦听。
当你使用send data等API的时候,服务器可以取到对方客户端的IP,端口。而这个端口,就是中国移动临时分配给你的端口。
实际测试,只能维持1分钟的样子。超过1分钟没有通信的话,这个端口资源便被回收了。
故开发移动互联网UDP程序的时候,要不断发心跳包来维持端口。