搜索
bottom↓
回复: 24

求:一个IP怎么同时和多个IP进行TCP/IP通讯

[复制链接]

出0入0汤圆

发表于 2015-12-15 14:12:58 | 显示全部楼层 |阅读模式
不知道有没有懂TCP/IP的高手,最近在做MFC的一个项目。这个软件需要管控100台左右的设备,所有设备都是通过以太网与电脑相连接。因为刚接触上位机编程,对TCP/IP不是很了解。一个PC同时最多和多少IP进行通讯呢,也就是同时和多少个IP保持连接?如果数量有限,有没有大神有好一点的实现方案?谢谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2015-12-15 14:17:36 | 显示全部楼层
TCP的连接数,应该只取决于PC端的内存空间

出0入0汤圆

发表于 2015-12-15 14:22:03 | 显示全部楼层
可以采取令牌网络,消息在所有设备中依次传递

出0入0汤圆

 楼主| 发表于 2015-12-15 14:25:11 | 显示全部楼层
innovision 发表于 2015-12-15 14:17
TCP的连接数,应该只取决于PC端的内存空间

能否描述的详细一些,因为我是新手,刚接触上位机编程。现在通过套接字实现一对一的通讯我没问题,但是比方说,我现在想PC,同时连接我的两个设备,请问如何实现?谢谢!

出0入0汤圆

发表于 2015-12-15 14:43:42 | 显示全部楼层
PC做server端,等待连接,哪个连了,就和哪个通信,时间超时了,就关闭这个链接。

出160入67汤圆

发表于 2015-12-15 15:04:33 | 显示全部楼层
5楼说的对,PC端作为主机,即TCP SERVER,,开启一个端口侦听,其他的设备作为从机,即TCP CLIENT,主动向PC SERVER发起连接。这样PC端软件进行分别处理或队列处理。具体可以下载个 TCP UDP调试工具进行测试即可。

出0入0汤圆

发表于 2015-12-15 15:30:09 | 显示全部楼层
连接都是socket,跟IP的数量没有关系

出0入0汤圆

发表于 2015-12-15 18:16:44 | 显示全部楼层
通过端口 PORT来区分

出0入0汤圆

发表于 2015-12-15 18:22:32 | 显示全部楼层
你的电脑创建TCP服务器,设备创建TCP客户端,可以连接很多个,取决于你的pc内存。实在不行如果通信不是很平凡的话,可以创建短连接。

出0入0汤圆

发表于 2015-12-15 18:24:49 | 显示全部楼层
broadcast multi-cast

出0入663汤圆

发表于 2015-12-15 19:34:37 | 显示全部楼层
不同的客户端和服务器建立连接,服务器会以<客户端IP:端口>为标识来区分不同连接,所以即使服务器以同一个port监听,客户端并发连接数基本上也是没上限的(理论上是4G * 64K,也就是整个IPv4所有可能的IP:端口组合),只要内存足够就行。
对于客户端来说又不一样了,如果一个客户端要向同一个服务器端口建立多个并发连接就需要使用不同的端口号,而端口号最大为65535,所以除去一些系统保留端口,一个客户端最多只能向同一个服务器端口建立约6万个并发连接。

出0入0汤圆

发表于 2015-12-15 20:42:04 | 显示全部楼层
我觉得要看你的数据量来决定用TCP还是UDP吧。

出0入0汤圆

发表于 2015-12-15 20:42:40 | 显示全部楼层
应该要应该的数据量来决定是用UDP还是TCP

出60入0汤圆

发表于 2015-12-15 22:04:17 | 显示全部楼层
一个IP同时和多个IP进行TCP/IP通讯不难,是否稳定, 要不要主动关闭离线socket连接, 通讯协议报文处理是难点.

出0入0汤圆

发表于 2015-12-15 22:44:19 来自手机 | 显示全部楼层
多个连接  超时的踢出  新来的加入

出0入0汤圆

发表于 2015-12-15 22:46:08 来自手机 | 显示全部楼层
大家一窝蜂访问论坛  简化的看就是多个客户端访问同一台电脑ip的同一个网络端口

出0入0汤圆

 楼主| 发表于 2015-12-16 09:54:32 | 显示全部楼层
huangqi412 发表于 2015-12-15 22:46
大家一窝蜂访问论坛  简化的看就是多个客户端访问同一台电脑ip的同一个网络端口 ...

我听别人说,一个服务器同时连接多个客户端比较好处理。反过来一个客户端,同时与多个服务器保持连接是不是不行?

出0入0汤圆

发表于 2015-12-16 10:46:06 来自手机 | 显示全部楼层
多个socket不就解决了!

出0入0汤圆

发表于 2015-12-16 13:24:16 | 显示全部楼层
zrr1352 发表于 2015-12-16 09:54
我听别人说,一个服务器同时连接多个客户端比较好处理。反过来一个客户端,同时与多个服务器保持连接是不 ...

一个客户端多个服务器,就是你打开N个网页,同时访问多个BBS.

出0入91汤圆

发表于 2015-12-16 14:15:09 | 显示全部楼层
socket socket socket

出0入0汤圆

发表于 2015-12-16 15:22:11 | 显示全部楼层
socket select() 函数

出0入0汤圆

 楼主| 发表于 2015-12-20 21:46:36 | 显示全部楼层
好的,谢谢楼上的建议,我先试试,遇到困难再咨询各位

出0入4汤圆

发表于 2016-2-10 07:35:40 来自手机 | 显示全部楼层
sblpp 发表于 2015-12-15 14:43
PC做server端,等待连接,哪个连了,就和哪个通信,时间超时了,就关闭这个链接。 ...

这?若是同一秒内60个客户端链接同一个服务器端口,每个链接交互至少10秒,那么服务器能处理过60个客户端访问吗?

出0入0汤圆

发表于 2016-2-10 09:54:17 来自手机 | 显示全部楼层
SCREA 发表于 2016-2-10 07:35
这?若是同一秒内60个客户端链接同一个服务器端口,每个链接交互至少10秒,那么服务器能处理过60个客户端 ...

多线程  PC 不是单片机

出200入2554汤圆

发表于 2016-2-11 00:48:22 来自手机 | 显示全部楼层
SCREA 发表于 2016-2-10 07:35
这?若是同一秒内60个客户端链接同一个服务器端口,每个链接交互至少10秒,那么服务器能处理过60个客户端 ...

pc一般是多线程的,同时干几件事情的处理没问题。你看迅雷开bt时候多开挂,几十个任务一起来。不过话说回来,服务器确实有点烧处理器和内存,多核的东西不要吝啬啊
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-16 10:49

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表