Chinaunix
标题:
C语言网络编程,接收报头的信息,不会了,DX帮助看看吧
[打印本页]
作者:
dovefay
时间:
2007-02-04 13:30
标题:
C语言网络编程,接收报头的信息,不会了,DX帮助看看吧
我在学习网络,但是上面有作业是网络编程的,大意是输入 URL(只限于HTTP),然后从服务器接收数据,根据状态位,像200,404,403,然后给出相应的信息.
但现在是用C语言在LINUX下实现,C原来就没学好,现在卡住了.不会做了.
我现在最大的一个问题是,从BUFF中读出状态位要怎么实现,然后再根据状态位来输出信息,要用什么函数来做啊.
书上给出的提示如下:
while (len=rece(conn,buff,BUFFSIZE,0)>0)
write (STDOUT_FILENO,BUFF,len);
rece是接收的库函数,len是长度,
分析了一下
服务器都是会先发送 http:/1.0 200 OK 或者是 http:/1.1 403 bad request这样的格式,
这样的数据写client的BUFF中。
我现在的问题就是,要如何检测出BUFF中这个200,然后把不是200的,像404,输出 404 bad request。
[
本帖最后由 dovefay 于 2007-2-5 15:56 编辑
]
作者:
kevert
时间:
2007-02-04 13:58
STDOUT_FILENO: 其实就是表示标准输出,write( STDOUT_FILENO, BUFF, len )其实就是将刚才收到的数据在标准输出上显示出来
作者:
dovefay
时间:
2007-02-04 14:12
那怎么来读出BUFF中的状态位呢
作者:
daworld
时间:
2007-02-04 15:23
你的意思是不是从类似下面的buffer里面读出状态位呢?
HTTP/1.1 200 OK
……
复制代码
如果有固定的格式,还是比较容易做的。
[
本帖最后由 daworld 于 2007-2-4 15:28 编辑
]
作者:
dovefay
时间:
2007-02-04 22:47
对啊,就是这个意思
作者:
dovefay
时间:
2007-02-05 15:49
来人指点下吧
作者:
langue
时间:
2007-02-05 15:52
服务器都是会先发送 http:/1.0 200 OK 或者是 http:/1.1 403 bad request这样的格式,
这样的数据写client的BUFF中。
HTTP/1.x 200 OK
HTTP/1.x 403 Bad Request
相关 RFC 上面有详细的说明,虽然是英文的,但硬着头皮看看总比不看好,是吧
--
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2