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是长度,
STDOUT—FILENO, 我也不知道这是什么东西。
[解决办法]
这是一个常数,网上一下就可以找到。
[解决办法]
定义一个宏,把那些常数都表示了.然后通过算法吧200等的位置找到,进行判断.输出你想输出的结果.
[解决办法]
建议楼主先做一下http的协议分析。。。
[解决办法]
recv到BUFF,recv的数据格式是固定的.http协议里面说明了200,404之类的状态表式位是固定了的吧.直接读相应的位就可以了吧
[解决办法]
sscanf(headerline, "%s %s %s\r\n ",version,statuscode,reason_phrase);