硬汉嵌入式论坛

 找回密码
 立即注册
查看: 623|回复: 5
收起左侧

[有问必答] stm32f407 裸机可以同时保持多个tcp连接么

[复制链接]

15

主题

23

回帖

68

积分

初级会员

积分
68
发表于 2024-1-24 17:12:45 | 显示全部楼层 |阅读模式
目前建立一个连接没有问题,但是建立第二个的时候就,之前的连接就死掉了,现在用的lwip1.4.1,没有使用实时系统,没有用socket通信,求大佬指教一下
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
发表于 2024-1-25 00:38:56 | 显示全部楼层
也没问题,不过要创建多个,之前TCPnet裸机做过一个多TCP的案例

https://www.armbbs.cn/forum.php? ... 6034&extra=page%3D1

12.png
回复

使用道具 举报

3

主题

336

回帖

345

积分

高级会员

积分
345
发表于 2024-1-26 10:53:26 | 显示全部楼层
连接死掉是什么意思呢?如果是断开,那就把连接pcb调用以下这个试试:tcp_setprio(pcb, TCP_PRIO_MAX+1);
在pcb内存池不够的情况下,这个调用能避免连接被迫abort掉。
回复

使用道具 举报

3

主题

336

回帖

345

积分

高级会员

积分
345
发表于 2024-1-26 11:05:24 | 显示全部楼层
lwip的raw-api设计得很好,全都是回调(这样就不需要多线程的支持);和libuv的接口有得一拼。用libuv和raw-api很容易再封装出一个统一的接口。
socket不是万灵药,它需要多线程;在几十KB的小内存系统上不合适,特别是做web-server这种应用,你不知道有多少个连接会同时上线,服务器要尽力满足客户端。
socket在windows、linux、bsd这些系统上才灵活(内存也足),因为它们有各种异步操作,如iocp、epoll、kqueue这些。
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2024-1-26 11:16:41 | 显示全部楼层
可以的,以前在M7上做过,本质一样,就是要TCP链接资源的资源保存下来使用
回复

使用道具 举报

0

主题

10

回帖

10

积分

新手上路

积分
10
发表于 2024-3-21 20:16:01 | 显示全部楼层
比较难 建议放弃
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-2 19:31 , Processed in 0.298783 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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