完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本人最近在做一个项目,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接收回调函数 */ } |
|
相关推荐
2个回答
|
|
那要用两个不同的端口号吧。同一个端口号连接两台PC,只能采用组播,组播只能是UDP。
|
|
|
|
你这个server的代码有问题吧?服务端的代码呢?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2272 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
2083 浏览 3 评论
4708 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2229 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2773 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 17:47 , Processed in 0.468762 second(s), Total 43, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号