完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
用STM32F103ZET6+ENC28J60+LWIP,将开发板和电路通过路由连到同一局域网内,成功实现了client,server功能,正常连接,通信正常,也无大家说了上线下线的现象。后面加上了DHCP功能,成功分配IP,server功能测试,正常;但,测试client功能时,无法连接成功。发现tcp_connect(client_PCB, &destip, 4, tcp_client_connected);并不调用tcp_client_connected;不知道什么原因。有人能解答一下么。一关闭DHCP就能用,但打开后,client就不行了,server能用。部分代码
int main(void){ sys_config(); SysTick_Init(); LwIP_Init(); tcp_server_init(); tcp_client_init(); while(1) { LwIP_Periodic_Handle(LocalTime); }} void tcp_server_init(void){ struct tcp_pcb *pcb; printf("tcp server initn"); pcb = tcp_new(); tcp_bind(pcb, IP_ADDR_ANY, 1200); pcb = tcp_listen(pcb); tcp_accept(pcb, tcp_server_accept); } void tcp_client_init(void){ struct tcp_pcb *client_pcb; struct tcp_client_app_arg* app_arg; static struct ip_addr destip; printf("tcp client intin"); IP4_ADDR(&destip,192,168,0,105); client_pcb = tcp_new(); tcp_bind(client_pcb,IP_ADDR_ANY,4); if(client_pcb != NULL) { tcp_arg(client_pcb, mem_calloc(sizeof(struct tcp_client_app_arg), 1)); app_arg = client_pcb->callback_arg; app_arg->app_state = CLIENT_WAITING_FOR_CONNECTION; tcp_connect(client_pcb, &destip, 4, tcp_client_connected); } else { printf("tcp alloc failedn"); }} err_t tcp_client_connected(void *arg, struct tcp_pcb *pcb, err_t err){ struct tcp_client_app_arg *app_arg = (struct tcp_client_app_arg *)arg; uint8_t* str = "Welcome to the clientn"; printf("tcp client connectedn"); tcp_err(pcb, tcp_client_errf); //指定出错时的回调函数 tcp_recv(pcb, tcp_client_recv); //指定接收到新数据时的回调函数 tcp_sent(pcb, tcp_client_sent); //指定远程主机成功接收到数据的回调函数 tcp_poll(pcb, tcp_client_poll, 4); //指定轮询的时间间隔和回调函数(*250ms) tcp_write(pcb, (const char *)str, strlen(str), 1); app_arg->app_state = CLIENT_WAITING_FOR_CMD; return ERR_OK;} |
|
相关推荐
7个回答
|
|
client模式,你等有连接以后,再启动client去连接,这样试试。
|
|
|
|
这个client模式是,先打开服务器,程序开始运行后,client去发起连接的。
|
|
|
|
你这个问题解决了吗?能分享一下源代码吗?
|
|
|
|
|
|
|
|
|
|
谢谢啦,先看一下。我的CLIENT只能连上一次,后面就不能用了。一直能PING通。
|
|
|
|
我也遇到这样的问题,建立一次链接然后就显示超时了。
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2444 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2217 浏览 5 评论
2979 浏览 3 评论
2671 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2638 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
420浏览 1评论
684浏览 0评论
759浏览 0评论
468浏览 0评论
277浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-22 20:19 , Processed in 1.027022 second(s), Total 89, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191