需求是这样:
比如有服务器S和客户端A、B、C
1)一方面S接受A、B、C的心跳包以及其他一些信令,这里我使用端口8000来监听
2)另一方面,S需要不定时地向A、B、C发送另一种工作信令,也是通过8000端口来发送
所以问题来了:
在我实现的过程中出现了矛盾,我使用的mina:
在1)中我acceptor已绑定8000端口监听各种udp数据包;
而2)中需要解绑1)中的8000端口,绑定8000新建到A、B、C的连接以发送数据包,发完再把1)中端口重新绑定;但是解绑后1)中的信令就没办法监听了,出现了不少丢包现象
请问大神们有什么方法可以解决以上矛盾吗?
服务器端设置 端口共享 即可解决上述问题。 就不用再解绑,重绑了
啊...还可以这样吗 服务器是指linux的服务器吗 为什么我百度了一下没有找到关于设置端口共享相关资料
@可啦思客: 有的啊…… Socket可以设置的 添加
SO_REUSEPORT选项就行了
@田麦成: 啊....刚搜了一下相关资料 确实很好用 十分感谢!