Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
DIY综合交流区
关于最新的ReadTouch工程的一个小BUG,请证
发布于 2012-11-14 19:54:50 浏览:2796
订阅该版
最新的Readtouch工程和以前的工程里面在http.c文件中 ``` static int http_connect(struct http_session* session, struct sockaddr_in * server, char *host_addr, const char *url) { int socket_handle; int peer_handle; int rc; char mimeBuffer[100]; int timeout = HTTP_RCV_TIMEO; if((socket_handle = socket( PF_INET, SOCK_STREAM, IPPROTO_TCP )) < 0) { rt_kprintf( "HTTP: SOCKET FAILED " ); return -1; } /* set recv timeout option */ setsockopt(socket_handle, SOL_SOCKET, SO_RCVTIMEO, (void*)&timeout, sizeof(timeout)); peer_handle = connect( socket_handle, (struct sockaddr *) server, sizeof(*server)); if ( peer_handle < 0 ) { rt_kprintf( "HTTP: CONNECT FAILED %i ", peer_handle ); return -1; } { char *buf; rt_uint32_t length; buf = rt_malloc (512); if (*url) length = rt_snprintf(buf, 512, _http_get, url, host_addr); else length = rt_snprintf(buf, 512, _http_get, "/", host_addr); rc = send(peer_handle, buf, length, 0); // rt_kprintf("HTTP request: %s", buf); /* release buffer */ rt_free(buf); } // We now need to read the header information while ( 1 ) { int i; // read a line from the header information. rc = http_read_line( peer_handle, mimeBuffer, 100 ); // rt_kprintf(">> %s ", mimeBuffer); if ( rc < 0 ) return rc; // End of headers is a blank line. exit. if (rc == 0) break; if ((rc == 2) && (mimeBuffer[0] == ' ')) break; // Convert mimeBuffer to upper case, so we can do string comps for(i = 0; i < strlen(mimeBuffer); i++) mimeBuffer* = toupper(mimeBuffer*); if(strstr(mimeBuffer, "HTTP/1.")) // First line of header, contains status code. Check for an error code { rc = http_is_error_header(mimeBuffer); if(rc) { rt_kprintf("HTTP: status code = %d! ", rc); return -rc; } } if(strstr(mimeBuffer, "CONTENT-LENGTH:")) { session->size = http_parse_content_length(mimeBuffer); rt_kprintf("size = %d ", session->size); } } // We've sent the request, and read the headers. SockHandle is // now at the start of the main data read for a file io read. return peer_handle; } ``` 此函数中的 ``` peer_handle = connect( socket_handle, (struct sockaddr *) server, sizeof(*server)); rc = send(peer_handle, buf, length, 0); rc = http_read_line( peer_handle, mimeBuffer, 100 ); return peer_handle; ``` 是否应该改为 ``` rc = send( socket_handle, buf, length, 0); rc = http_read_line( socket_handle, mimeBuffer, 100 ); return socket_handle; ``` 因为我查看资料反应connect的返回值只是告诉连接是否成功。而不是返回套接字。。套接字是第一个参数,而后面的发送函数。接收函数。返回socket都是使用了connect的返回值。而不是使用第一个参数(套接字),是否需要修改?
查看更多
4
个回答
默认排序
按发布时间排序
nongxiaoming
2012-11-15
rt-thread大师兄
这个好像是1。32和1.40有改变的,connect函数,我看看~
lloongo
2012-11-16
这家伙很懒,什么也没写!
>这个好像是1。32和1.40有改变的,connect函数,我看看~ --- 这个函数不是LWIP库的函数哦 LWIP库里面的connect函数1。32跟1。40都是一样的啊。 这个是http_ connect的函数。还有http.c文件里面的几个连接函数都有同样的BUG存在。 就是把connet的返回值当成了socket成不是第一个参数
nongxiaoming
2012-11-17
rt-thread大师兄
这个是LWIP里面的函数啊,只是用一个宏转变了一下而已,我看了一下,确实是写错了,谢谢提醒,明天就叫他们改过来~
撰写答案
登录
注册新账号
关注者
0
被浏览
2.8k
关于作者
lloongo
这家伙很懒,什么也没写!
提问
11
回答
43
被采纳
0
关注TA
发私信
相关问题
1
[项目]搞个开源的硬件项目
2
硬件计划贴,及时更新,欢迎提意见
3
软件计划贴,及时更新,欢迎提意见::WMA,MOUNT,LWIP等问题急需解决.
4
MMS协议
5
定点的wma解压库-libwma
6
QQ群记录 [20090821]
7
STM32网络收音机PCB报名征集
8
第一版调试记录
9
第二版硬件讨论
10
RADIO项目相关模块规格--欢迎大家自己做板时规格与此兼容,减少重复劳动
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
TinyUSB Demo运行教程
2
RT-Thread学习大礼包一键带走!
3
freemodbus从机调试说明
4
【1024】瑞萨 RA 系列 BSP 制作与适配最新版本的 Keil 、 RSC、固件,较新的 FSP
5
基于 RT-Thread 星火一号开发板的俄罗斯方块
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
ART-Pi
FinSH
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
cubemx
PWM
flash
packages_软件包
freemodbus
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
用户名由3_15位
10
个答案
1
次被采纳
KunYi
4
个答案
1
次被采纳
踩姑娘的小蘑菇
2
个答案
1
次被采纳
bernard
1
个答案
1
次被采纳
rv666
1
个答案
1
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
4
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部