硬汉嵌入式论坛

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

[FreeRTOS-TCP] TCP多客户端连接

[复制链接]

16

主题

17

回帖

65

积分

初级会员

积分
65
发表于 2024-12-5 20:13:22 | 显示全部楼层 |阅读模式
求助!!!

tcp多客户端连接。使用modbus poll第一次连接服务器,有时候能连上服务器,有时候就连不上。
1.如果连上服务区,然后modbuspoll软件断开重新连接后,能连上但是会提示解析数据错误(首次连接数据会正常交互)。
2.如果第一个poll客户端连上后,第二个客户端也能连上,但是也是会提示解析数据错误。
多客户端建立的程序如下:

static void TCPServer(void* arg)
{
    struct netconn *conn, *newconn, *newclient;  //创建连接对象
    err_t err;
   
    /*创建TCP*/
    conn = netconn_new(NETCONN_TCP);
    netconn_bind(conn,IP_ADDR_ANY,502);
    netconn_listen(conn);
    while(1)
    {
        if(client_count < TCPNUMMAX)
        {
            err = netconn_accept(conn,&newconn);
            if(err == ERR_OK)
            {
                printf("建立连接ok,当前连接数 %d",client_count + 1);
                client_count ++;
                sys_thread_new("modbus_tcp_more", modbusTCPServerone_to_more, newconn, 2048, 5);
            }
            
        }else  //删除新的连接
        {
            err = netconn_accept(conn,&newclient);
            if(err == ERR_OK)
            {
                netconn_close(newclient);
                netconn_delete(newclient);
                newclient = NULL;
            }
        }
    }
}

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116197
QQ
发表于 2024-12-6 09:08:07 | 显示全部楼层
帮顶,这个是NetXDUO的,可供参考

ThreadX NetXDUO作为服务器接收100个客户端测试成功,分享工程和测试效果(2022-01-16)
https://www.armbbs.cn/forum.php? ... 0613&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-10 04:34 , Processed in 0.195341 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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