免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 9351 | 回复: 19
打印 上一主题 下一主题

[C] linux下socket编程 接收post数据问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-05-20 12:38 |只看该作者 |倒序浏览
用c语言写了个http服务器,在用recv函数接受浏览器传递过来的post数据时,发现recv会停止在消息头与空行处(post数据格式是 头 空行 数据)。试过用read函数来接收,同样不行。
下面使我的recv函数调用代码:
  1. if((cnt=recv(i,recvbuf,sizeof(recvbuf),0))<=0){//read the first line
  2.                                                        
  3.         //client disconnect
  4.         printf("\nclient[%s] [fd:%d] disconnect\n",inet_ntoa(clientaddr.sin_addr),i);
  5.         fd_clear(i,&fdread);
  6.         fdcnt--;
  7.         close(i);
  8.         settaskstate(i-3,0,0);
复制代码
运行结果图:

在最后空行会阻塞。
谢谢!

论坛徽章:
0
2 [报告]
发表于 2010-05-20 13:05 |只看该作者
我最近自己也在自己试着写一些这方面的代码,不过我想实现那种能够实时反馈上传了多少数据那种功能,不知道你有任何看法

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2010-05-20 13:18 |只看该作者
发截图的人不知道都是基于怎样的一种心理呢?

论坛徽章:
0
4 [报告]
发表于 2010-05-21 11:37 |只看该作者
发截图的人不知道都是基于怎样的一种心理呢?
flw 发表于 2010-05-20 13:18



     不知你啥意思???

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2010-05-21 11:41 |只看该作者
不知你啥意思???
古兮之 发表于 2010-05-21 11:37

我的意思,就是想做个心理访谈。
请问,你发截图,而不发文字,是出于怎样的一种考虑?


稍微解释一下,我之所以会有此一问,是因为我一直以来都有一个观点:
在适合发文字的场合,却发了截图,这样的人都是学不成计算机技术的。
我想多收集一些样本来验证一下我这个观点。

论坛徽章:
0
6 [报告]
发表于 2010-05-21 11:49 |只看该作者
我最近自己也在自己试着写一些这方面的代码,不过我想实现那种能够实时反馈上传了多少数据那种功能,不知道 ...
hobbs136 发表于 2010-05-20 13:05



     如果是自己编写客户端的话, 那应该可以在客户端实现的。但这可能不是很好的,可靠性不是很高,传送大型的数据的话,可能网络拥塞,数据还没有上传到服务器,而你的客户端还在发送并且显示发送了所有的数据的进度。我想,应该最好在客户端和服务器端各开启的一线程,服务器端线程作为一个监听程序,不断的统计数据接收的大小,然后发送回客户端。客户端线程接收反馈信息。呵呵,我也不是很清楚,也没用c玩过这些,不过可以在我的程序里实现下,看看效果。

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:172015亚冠之水原三星
日期:2015-06-02 16:34:202015年亚冠纪念徽章
日期:2015-10-19 18:13:37程序设计版块每日发帖之星
日期:2015-11-08 06:20:00
7 [报告]
发表于 2010-05-21 11:51 |只看该作者
回复 5# flw


   还有很多人喜欢看录像

论坛徽章:
0
8 [报告]
发表于 2010-05-21 11:53 |只看该作者
我的意思,就是想做个心理访谈。
请问,你发截图,而不发文字,是出于怎样的一种考虑?


稍微解释一 ...
flw 发表于 2010-05-21 11:41



    哦。这样啊。呵呵。发截图是因为我担心自己描述不清楚,别人看不懂才发截图的,毕竟人对图更容易接受。还有,具体的http数据传输协议有些人是不知道的,发个图也许能更好的理解

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2010-05-21 12:04 |只看该作者
哦。这样啊。呵呵。发截图是因为我担心自己描述不清楚,别人看不懂才发截图的,毕竟人对图更容易 ...
古兮之 发表于 2010-05-21 11:53

但是你的图上也只有文字没有别的说不清楚的地方啊。
除了文字之外,还有就是颜色,可我一直认为这是把自己的审美观强加到别人身上。
比如有些人可能看到了这个颜色和字体之后就会感觉很不爽。

论坛徽章:
0
10 [报告]
发表于 2010-05-21 12:51 |只看该作者
但是你的图上也只有文字没有别的说不清楚的地方啊。
除了文字之外,还有就是颜色,可我一直认为这是把自 ...
flw 发表于 2010-05-21 12:04



    哈哈。我觉得啊,你这问题可以告诉下chinaunix论坛开发人员,干脆把截图功能给删了。咱们就不讨论什么技术问题了,按照你的说法,我以后不看书了,为啥了???很简单,有时,我不认同作者画的图,他画的太难看了。哎,算了,把书丢掉把。在linux的国度里,我们崇尚自由,可是,为了自由,我们不去关注别人的问题,不去学习那些问题,而是去思考别人是否给自己强加了某些思想。哇塞,可以自比为“思想圣人”了。。。还有,我不是非常喜欢chinaunix某些页面布局,还有很垃圾的博客系统,那我是不是应该不上chinaunix了。你说的也有道理,本应该可以用文字描述的问题,应该用文字描述,看来本人还是有些懒惰啊。顺便说一句哈,本人语文成绩蝉联不及格的水平,说话不好还请见谅。
   还有,你能解决我的问题吗?学习完网络课程后,想弄http服务器玩玩。
   谢谢。下次发帖一定谨记您的真言。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP