完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
问题描述:使用STM32F746Discovery开发板,使用FreeRTOS,LWIP协议,Netconn API在开发板上建立一个TCP客户端去访问远端服务器,在PC上使用网络助手模拟一个远端网络服务器,开发板能够正常连接收发数据,但是,直接将连网的网线插到开发板上,给网络服务器发送特定数据后却收不到服务器返回的数据。
请教各位大神和版主,这种可以和本地pc进行客户端服务器通信但是不能和网络服务器进行通信的问题是什么造成的?谢谢大家!! 建立TCP客户端,连接远端服务器的代码如下: struct netbuf *TCPRecvbuf; struct netbuf *buf; static void http_server_netconn_thread(void *arg) { int i=0; char *string[200]; void *data; uint16_t len; struct netconn *conn; err_t myerr,recv_err; struct netbuf *TCPNetbuf; ip4_addr_t serverip; char Text[] ="GET /BDKJ HTTP/1.0rnUser-Agent: NTRIP GNSSInternetRadio/1.4.10rnAccept: */*rnAuthorization: Basic dXNlcjpwYXNzd29yZA==rnrnrnrn"; IP4_ADDR(&serverip,180,149,145,238); // IP4_ADDR(&serverip,192,168,0,10); conn = netconn_new(NETCONN_TCP); netconn_bind(conn,NULL,NULL); osDelay(5000); myerr = netconn_connect(conn,&serverip,8000); TCPNetbuf = netbuf_new(); netbuf_ref(TCPNetbuf,Text,sizeof(Text)); netconn_write(conn,(void *)&Text,sizeof(Text),NETCONN_NOCOPY); LCD_UsrLog ("%srn", Text); netbuf_delete(TCPNetbuf); // osDelay(1000); while(1) { while(( recv_err = netconn_recv(conn, &buf)) == ERR_OK) { do { //Get the data pointer and length of the data inside a netbuf. netbuf_data(buf, &data, &len); memcpy(string,data,len); LCD_UsrLog ("The Receive data is: %srn", string); memset(string,0,len); } //Move the current data pointer of a packet buffer contained in a netbuf to the next part. while (netbuf_next(buf) >= 0); netbuf_delete(buf); } } } |
|
相关推荐
5个回答
|
|
|
|
|
|
你先去确定一下服务器有没有收到你发的数据,再确定一下服务器有没有给你返回数据?!不然先看下链接建立成功了吗?
|
|
|
|
|
|
|
|
|
|
|
|
问题已经解决了吗?解决方法是什么?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1980 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1836 浏览 3 评论
4416 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1985 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2489 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 14:26 , Processed in 0.700789 second(s), Total 85, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号