首页 新闻 搜索 专区 学院

关于udp监听端口用来主动发包的问题

0
悬赏园豆:50 [已解决问题] 解决于 2016-03-07 09:38

需求是这样:
比如有服务器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)中的信令就没办法监听了,出现了不少丢包现象

请问大神们有什么方法可以解决以上矛盾吗?

可啦思客的主页 可啦思客 | 初学一级 | 园豆:157
提问于:2016-03-04 16:03
< >
分享
最佳答案
0

服务器端设置 端口共享 即可解决上述问题。 就不用再解绑,重绑了

收获园豆:50
田麦成 | 小虾三级 |园豆:1984 | 2016-03-04 17:07

啊...还可以这样吗  服务器是指linux的服务器吗  为什么我百度了一下没有找到关于设置端口共享相关资料

可啦思客 | 园豆:157 (初学一级) | 2016-03-04 17:18

@可啦思客: 有的啊…… Socket可以设置的  添加 

SO_REUSEPORT选项就行了

田麦成 | 园豆:1984 (小虾三级) | 2016-03-06 13:01

@田麦成: 啊....刚搜了一下相关资料 确实很好用 十分感谢!

可啦思客 | 园豆:157 (初学一级) | 2016-03-07 09:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册