C语言网络编程,接收报头的信息,不会了,DX帮助看看吧

dovefay 2007-02-04 01:45:20
我在学习网络,但是上面有作业是网络编程的,大意是输入 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, 我也不知道这是什么东西。
...全文
369 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
asert 2007-02-15
  • 打赏
  • 举报
回复
sscanf(headerline,"%s %s %s\r\n",version,statuscode,reason_phrase);
shjmqqc111 2007-02-15
  • 打赏
  • 举报
回复
recv到BUFF,recv的数据格式是固定的.http协议里面说明了200,404之类的状态表式位是固定了的吧.直接读相应的位就可以了吧
believe_me 2007-02-12
  • 打赏
  • 举报
回复
建议楼主先做一下http的协议分析。。。
dovefay 2007-02-05
  • 打赏
  • 举报
回复
我不会算法,想不出来,

我coding的能力很差,把代码写出来,我还得看一会才能明白.
liangdengke 2007-02-05
  • 打赏
  • 举报
回复
定义一个宏,把那些常数都表示了.然后通过算法吧200等的位置找到,进行判断.输出你想输出的结果.
dovefay 2007-02-05
  • 打赏
  • 举报
回复
分析了一下

服务器都是会先发送 http:/1.0 200 OK 或者是 http:/1.1 403 bad request这样的格式,
这样的数据写client的BUFF中。

我现在的问题就是,要如何检测出BUFF中这个200,然后把不是200的,像404,输入 404 bad request。
「已注销」 2007-02-04
  • 打赏
  • 举报
回复
这是一个常数,网上一下就可以找到。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧