免费注册 查看新帖 |

Chinaunix

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

[C] LINUX C 的SOCKET函数的灵异事件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-11 11:08 |只看该作者 |正序浏览
recv(sock, recv_buff, BUFSIZE, 0)) > 0


用这个函数接收到的目标url页面内容每次不一样.比如我测试自己的一个页面.有两种情况(注: BUFSIZE长度为1024*100,数组长度绝对够)
....<gameId>8</gameId>
</SubTable>
</root>
3148//这是获取的字符串总长度,正常

<SubTable>
<name
1380//这次不正常了,这个 "1380" 很怪异,好多个页面出错都是这个长度


PS:另问个问题,我获取百度首页也是两种情况,但是....

HTTP/1.1 200 OK
Date: Wed, 11 Feb 2009 03:04:08 GMT
Server: BWS/1.0
Content-Length: 1990
Content-Type: text/html
Cache-Control: private
Expires: Wed, 11 Feb 2009 03:04:08 GMT
Content-Encoding: gzip
Set-Cookie: BAIDUID=411A4901BD5BB0A57ED05E3AB57C5E24:FG=1; expires=Wed, 11-Feb-39 03:04:08 GMT; path=/; domain=.baidu.com
P3P: CP=" OTI DSP COR IVA OUR IND COM "


372//这是长度

HTTP/1.1 200 OK
Date: Wed, 11 Feb 2009 03:04:53 GMT
Server: BWS/1.0
Content-Length: 1990
Content-Type: text/html
Cache-Control: private
Expires: Wed, 11 Feb 2009 03:04:53 GMT
Content-Encoding: gzip
Set-Cookie: BAIDUID=C55B5B970EC85E4F6EF25829E828BF60:FG=1; expires=Wed, 11-Feb-39 03:04:53 GMT; path=/; domain=.baidu.com
P3P: CP=" OTI DSP COR IVA OUR IND COM "

?
2362//这也是长度


第二种情况和取163首页类似,都是body,即我们通常说的网页源代码是看不到,但是却占用了长度,看header是有进行了gzip压缩,那么请问,对于有gzip压缩的网页源代码如何进行解压缩处理,并能分离header和源代码.
另外我是新手,刚学一两周,是PHPER出身,对C很多的概念很难理解,希望对于提出的一些弱智问题请高手见谅

论坛徽章:
0
20 [报告]
发表于 2009-02-17 10:15 |只看该作者
原帖由 flw 于 2009-2-17 10:13 发表

“高级语言”四个字用在这里,不妥。



脚本才算高级语言... 哈哈

没关系的, 刚开始学C的人这个属于正常, 多摸索一段时间就好了....

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
19 [报告]
发表于 2009-02-17 10:13 |只看该作者
原帖由 tqjs 于 2009-2-17 09:20 发表

嗯,一起学习呀,从脚本语言向高级语言转变,很多思维转不过来了

“高级语言”四个字用在这里,不妥。

论坛徽章:
0
18 [报告]
发表于 2009-02-17 10:11 |只看该作者
原帖由 tqjs 于 2009-2-11 11:16 发表
另外对于gzip压缩的网页源代码的解压缩和header和body部分的分离哪位高手有空帮忙指教一下



HTTP协议每个header是一行 "\r\n" 结束, 所有header的最后有一个空行 "\r\n" 表示头部结束
一般头部都会说明content-length 如果没有length的应该设定超时结束数据读取.

HTTP解压需要通过zlib的特殊参数解压....

看这个例子

http://bbs.chinaunix.net/viewthread.php?tid=1361609#pid10007000

建议熟悉一下HTTP协议

HTTP协议相对来说是很简单的协议

论坛徽章:
0
17 [报告]
发表于 2009-02-17 09:20 |只看该作者
原帖由 wwdwwd 于 2009-2-12 10:19 发表
兄弟,碰上同行拉,我也是php出身,最近开始玩c,共同进步阿

嗯,一起学习呀,从脚本语言向高级语言转变,很多思维转不过来了

原帖由 xiyoubbs 于 2009-2-12 11:43 发表

确实没啥子灵异的,被标题唬了。。。


  对于我这个新手来说就是个灵异事件啊

论坛徽章:
0
16 [报告]
发表于 2009-02-12 11:43 |只看该作者
原帖由 jinmiaobis 于 2009-2-11 17:15 发表
不是灵异事件啊,是你程序没写好啊

确实没啥子灵异的,被标题唬了。。。

论坛徽章:
0
15 [报告]
发表于 2009-02-12 10:25 |只看该作者
原帖由 flw 于 2009-2-11 11:15 发表
看看理论书,搞清楚 tcp 的本质。
不看书直接搞编程,BUG 一大堆。

搞清tcp的本质是不是得看tcp/ip那三卷书?我现在仅仅知道tcp是流协议,需要不停的获取数据。

论坛徽章:
0
14 [报告]
发表于 2009-02-12 10:19 |只看该作者
兄弟,碰上同行拉,我也是php出身,最近开始玩c,共同进步阿

论坛徽章:
0
13 [报告]
发表于 2009-02-11 17:15 |只看该作者
不是灵异事件啊,是你程序没写好啊

论坛徽章:
0
12 [报告]
发表于 2009-02-11 17:05 |只看该作者
这个是看自己的,跟公司关系不大,碰到这样的公司就是撞大运。
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP