在socket中如何利用HTTP协议进行发送和接受数据?——新手问题,请高手赐教!
来源: 互联网 发布时间:2016-03-24
本文导语: 大家好,我是新手,也不知道该怎么提问,就把情况说一下,希望大家帮我解决,困扰我好几天了,555555555555555555 我现在要做一个客户端,基于HTTP协议用linux socket技术来完成,服务器端是用的别人现成的,名字是...
大家好,我是新手,也不知道该怎么提问,就把情况说一下,希望大家帮我解决,困扰我好几天了,555555555555555555
我现在要做一个客户端,基于HTTP协议用linux socket技术来完成,服务器端是用的别人现成的,名字是:Funambol Data Synchronization Server 6.5.14,网上下的现成的,在用第三方库libsoup库对其进行测试证明这个服务器端是正确可靠的,可是现在输到我自己写客户端对这个服务器发送数据却没反映,不知道怎么回事,大家帮我看看出哪了。
我的思路:
先与服务器进行connect
然后发送HTTP头请求,
服务器响应头请求,如果是200,则说明真正连接成功,
接着,客户端发送数据,然后进行接受,这时就没反应了。(也不知道这个思路对不对)
测试程序很短,也不是很难,带有注释,请大家帮忙看看啊,本人第一次做socket程序,确实有很多不懂,解决不了啊。
测试程序如下:
#define HTTPDATALEN 1024
#define SERVERPORT 8080
int main()
{
int sock,conn_ret,sbytes,rbytes,j;
char send_msg[HTTPDATALEN*64];
struct sockaddr_in server;
char rbuf[HTTPDATALEN*64];
char * data = "
1.1
SyncML/1.1
12345678
1
http://10.40.75.29:8080/funambol/ds
client
syncml:auth-basic
Z3Vlc3Q6Z3Vlc3Q=
250000
4000000
1
200
scard
scard
1206946036953
1206947518062
";
//socket
sock=socket(AF_INET,SOCK_STREAM,0);
if(sock
我现在要做一个客户端,基于HTTP协议用linux socket技术来完成,服务器端是用的别人现成的,名字是:Funambol Data Synchronization Server 6.5.14,网上下的现成的,在用第三方库libsoup库对其进行测试证明这个服务器端是正确可靠的,可是现在输到我自己写客户端对这个服务器发送数据却没反映,不知道怎么回事,大家帮我看看出哪了。
我的思路:
先与服务器进行connect
然后发送HTTP头请求,
服务器响应头请求,如果是200,则说明真正连接成功,
接着,客户端发送数据,然后进行接受,这时就没反应了。(也不知道这个思路对不对)
测试程序很短,也不是很难,带有注释,请大家帮忙看看啊,本人第一次做socket程序,确实有很多不懂,解决不了啊。
测试程序如下:
#define HTTPDATALEN 1024
#define SERVERPORT 8080
int main()
{
int sock,conn_ret,sbytes,rbytes,j;
char send_msg[HTTPDATALEN*64];
struct sockaddr_in server;
char rbuf[HTTPDATALEN*64];
char * data = "
1.1
SyncML/1.1
12345678
1
http://10.40.75.29:8080/funambol/ds
client
syncml:auth-basic
Z3Vlc3Q6Z3Vlc3Q=
250000
4000000
1
200
scard
scard
1206946036953
1206947518062
";
//socket
sock=socket(AF_INET,SOCK_STREAM,0);
if(sock