本人最近在做一个项目,
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接收回调函数 */
}
一周热门 更多>