首页 新闻 会员 周边 捐助

socket

0
[已解决问题] 解决于 2018-08-27 11:15

怎么实现监听一个IP地址的多个端口,可能会有200个左右

没事儿写个bug的主页 没事儿写个bug | 菜鸟二级 | 园豆:323
提问于:2018-08-04 18:59
< >
分享
最佳答案
0

监听一个就可以吧...accept() 会给连接进来的客户端重新分端口的

奖励园豆:5
百鸟朝凤 | 菜鸟二级 |园豆:260 | 2018-08-07 10:46

监听一个不行,因为硬件设备ip地址不确定,并且端口也不确定,他们是一直给我发送数据,我写的socket只是负责接收。

没事儿写个bug | 园豆:323 (菜鸟二级) | 2018-08-07 19:30

@键盘演绎青春: 看你的描述,应该你是服务端,你只要开放一个端口进行监听,完全不需要管设备的ip和端口啊?  如果你是客户端的话,可以考虑下udp的组播方式

百鸟朝凤 | 园豆:260 (菜鸟二级) | 2018-08-07 19:59

@百鸟朝凤: 咱们服务器端需要确定一个端口,然后客户端向这个端口发送数据,但是现在客户端的端口不确定,服务器端口要和他的一致,所以服务器需要创建n个和客户端进行一一对应。(每个客户端每100毫秒会发送大量数据,这个是为了避免数据发生收不到的错误)

没事儿写个bug | 园豆:323 (菜鸟二级) | 2018-08-07 20:26

@键盘演绎青春: 你可能对socket的理解有点不太对,socket进行tcp通讯的时候,只需要确定服务端的端口就可以,客户端指定的是服务端的端口,你看看客户端连接服务端的demo,不需要客户端指定本身的端口的

百鸟朝凤 | 园豆:260 (菜鸟二级) | 2018-08-07 20:31

@百鸟朝凤: 确实刚接触socket,我这块的硬件是主动发送数据,不需要我写服务器端,即使我的程序不开启,硬件插上电源配置ip和端口就一直发送,我做的软件只是负责接受他传过来的数据。请问这样有什么解决方法吗?

没事儿写个bug | 园豆:323 (菜鸟二级) | 2018-08-07 20:38

@键盘演绎青春: 哦,你这是用的udp的方式,你就写一个udp,绑定本机,然后一直获取数据就可以,明天我可以给你一个c#的demo

百鸟朝凤 | 园豆:260 (菜鸟二级) | 2018-08-07 20:46

@百鸟朝凤: 好的,谢谢您。这是我的邮箱:1455145193@qq.com,如果您有空发给我看一下。

没事儿写个bug | 园豆:323 (菜鸟二级) | 2018-08-07 20:47

@键盘演绎青春: 已发,不懂就问我

百鸟朝凤 | 园豆:260 (菜鸟二级) | 2018-08-08 09:05

@百鸟朝凤 ok,多谢了🙏

没事儿写个bug | 园豆:323 (菜鸟二级) | 2018-08-08 10:13

@百鸟朝凤: 老哥,我刚回来接收了程序,发现有些不太明白,如果您有空的话帮我讲解一下,谢谢。您可以留下您的QQ联系方式。

没事儿写个bug | 园豆:323 (菜鸟二级) | 2018-08-08 19:36

@键盘演绎青春:qq 763047005

百鸟朝凤 | 园豆:260 (菜鸟二级) | 2018-08-08 19:38
其他回答(2)
0
dudu | 园豆:29737 (高人七级) | 2018-08-04 21:26

感些您的建议,第二篇文章不错,就是不太稳定,偶尔会出现强迫关闭一个socket。

支持(0) 反对(0) 没事儿写个bug | 园豆:323 (菜鸟二级) | 2018-08-06 09:53
0

建立多个tcpserver就是了。

窗户 | 园豆:886 (小虾三级) | 2018-08-06 01:40

你好,请问有什么demo案例吗。没接触过监听多端口的功能。

支持(0) 反对(0) 没事儿写个bug | 园豆:323 (菜鸟二级) | 2018-08-06 09:54

@键盘演绎青春: 

和平常建立TCP server没什么区别,一个个的建就可以了。

支持(0) 反对(0) 窗户 | 园豆:886 (小虾三级) | 2018-08-06 10:03

@窗户: 有没有动态创建的方法呢,因为硬件设备个数不确定。

支持(0) 反对(0) 没事儿写个bug | 园豆:323 (菜鸟二级) | 2018-08-06 10:32

@键盘演绎青春: 动态创建这不都可以在你自己的逻辑中吗?

支持(0) 反对(0) 窗户 | 园豆:886 (小虾三级) | 2018-08-06 11:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册