求助各位大神 如何实现TCP与两台PC机同时实现TCP连接

2019-07-14 20:34发布

本人最近在做一个项目,STM32作为SERVER 主机PC作为Client 要实现 一块CPU与两台PC同时进行TCP连接(两台PC的IP地址是不同的) 以下是本人的初始化代码 但是没有用 搞了几天了 还是不能实现和两个IP进行连接
void TCP_Client_Init1(u16_t local_port,u16_t remote_port,u16_t remote_port1,unsigned char a,unsigned char b,unsigned char c,unsigned char d,unsigned char e,unsigned char f,unsigned char g,unsigned char h)
{
        struct ip_addr ipaddr,ipaddr_redun;
        err_t err,err1;
        IP4_ADDR(&ipaddr,a,b,c,d);           //主服务器IP地址
        IP4_ADDR(&ipaddr_redun,e,f,g,h);
        tcp_client_PCB = tcp_new(); /* 建立通信的TCP控制块(Clipcb) */
        tcp_client_pcb1 =  tcp_new();
        if ((!tcp_client_pcb)&&(!tcp_client_pcb1))
        {
                return ;
        }               
        err = tcp_bind(tcp_client_pcb,IP_ADDR_ANY,local_port); /* 绑定本地IP地址和端口号 ,本地ip地址在        LwIP_Init()中已经初始化*/
        err1 = tcp_bind(tcp_client_pcb1,IP_ADDR_ANY,local_port);
        if((err != ERR_OK)&&(err1 != ERR_OK))
        {
                return ;
        }   
       
        tcp_connect(tcp_client_pcb,&ipaddr_redun,remote_port1,TCP_Connected);
        tcp_recv(tcp_client_pcb1,TCP_Client_Recv);
       
        tcp_connect(tcp_client_pcb,&ipaddr,remote_port,TCP_Connected);//注册回调函数
        tcp_recv(tcp_client_pcb,TCP_Client_Recv);                                 /* 设置tcp接收回调函数 */
}

0条回答

一周热门 更多>