OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2791|回复: 5

求助各位坛友,关于TCP与多个客户端相连

[复制链接]

24

主题

72

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2018-3-13
在线时间
45 小时
发表于 2019-7-9 18:22:43 | 显示全部楼层 |阅读模式
18金钱
求助下论坛老哥们,想要实现单片机作服务器,与多个客户端连接,然后分别往不同的客户端发送数据,目前用的是单片机STM32F407ZE和以太网芯片DP83848,参考原子哥例程,用的是UCOSIII,NETCONN编程接口实现的TCP服务器,为了连接多个客户端,程序设置的是服务器监听作为一个任务,每次监听到有客户端握手的时候就新建一个client任务。
目前连接两个客户端的时候是正常的,无论是接入还是断开,还是互相发数据,程序里的串口调试信息都能打印出来,例如第1个客户端接入,第2个客户端断开。

接入第3个客户端的时候,程序能够打印出来第3个客户端接入的信息,但是接下来的断开和互发数据都没反应,就好像第三个客户端接入时候就和程序失联了(网络调试助手是显示TCP连接成功了的如果点击断开的话,网络助手一样会显示断开成功)。
同时接入4个客户端的时候,只有前两个正常,第三个客户端同样是只有连接时有识别,其他操作失联,而第四个客户端直接是连接的时候都没有信息打印出来(网络调试助手同样是显示第三个和第四个客户端均连接成功,如果点击断开的话,网络助手一样会显示断开成功)。


请问有没有论坛大佬处理过这种情况的,求助。

最佳答案

查看完整内容[请看2#楼]

解决了。是opt.h中的MEMP_NUM_NETCONN限制了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

24

主题

72

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2018-3-13
在线时间
45 小时
 楼主| 发表于 2019-7-9 18:22:44 | 显示全部楼层
解决了。是opt.h中的MEMP_NUM_NETCONN限制了
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2019-7-10 01:15:44 | 显示全部楼层
帮顶,没遇到过
回复

使用道具 举报

117

主题

598

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
1702
金钱
1702
注册时间
2012-5-10
在线时间
439 小时
发表于 2019-7-10 08:38:03 | 显示全部楼层
我弄个15个客户端,不清楚你的问题在哪里
回复

使用道具 举报

24

主题

72

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2018-3-13
在线时间
45 小时
 楼主| 发表于 2019-7-10 08:51:19 | 显示全部楼层
xsx127 发表于 2019-7-10 08:38
我弄个15个客户端,不清楚你的问题在哪里

我也不太知道,不晓得是不是malloc申请空间的问题,只有两个客户端正常的,第三个接入就有问题了。。。。大佬可以分享下经验吗....
回复

使用道具 举报

24

主题

72

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2018-3-13
在线时间
45 小时
 楼主| 发表于 2019-7-10 09:37:51 | 显示全部楼层
之前的创建的客户端任务里没有延时.....现在加了OSTimeDlyHMSM(0,0,0,10,OS_OPT_TIME_HMSM_STRICT,&err);延时10ms之后,第三个接入的客户端也正常了....但是接入第四个的时候一点反应没有......程序调试发现,接入第四个客户端的时候,创建的服务端任务监听压根没有接收到第四个客户端的accept请求,求助
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-15 07:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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