代理容不下的一个空格
来源:互联网 发布:淘宝网打开不显示图片 编辑:程序博客网 时间:2024/05/17 04:51
在做一个语音云的代理,今天突然发现代理的最近的好几个版本都不能代理语音云了,客户端总是报告返回结果超时。
困惑,之前测试也没用报这方面的bug啊,功能是通过的啊,怎么到现在才爆出这样一个bug呢。
开始怀疑:
(1)由于在改变架构后的所有版本都有这个问题,开始怀疑改变架构时,功能就没有正确实现。可是,我清楚的记得,改变架构后,自己进行了测试,通过后才提交的版本啊。
(2) 由于我经常给测试自己编译的版本让他们测试,我又开始怀疑我编译的版本用到了一直没有传到svn上的代码。可这怎么可能呢,大哥?没次咱都是把代码提交完啊。但是,我还是努力地找回我删到回收站的代码,查看他们和现有代码的差异,没有什么收获。
(3)我也怀疑是服务器的木马病毒搞的鬼,因为最近服务器在闹毒。可是midomi和识别都没有问题啊?
(4)根据打屏可以看到,我的确将结果http转发给了客户端啊,可是客户端为什么没有收到呢?我有点儿怀疑iocp了(可感觉告诉我,要先怀疑自己啊)。我也联想到了上次LoadRunner报告超时是因为脚本中将接收的字节数写大了,导致它认为没有收完数据。(有点儿接近了,^_^)
最终结局:
抓包看,发现语音云的响应http中的有些头域竟然在值后面多了个空格,导致我自己生成的http的长度头域值比实际打了1。最终导致客户端认为我没有将完整的数据给它。
解释一下:代理对语音云的http处理逻辑是,收一个完整的http,解析处理,使用http解析结果生成一个http,转发给对端。
总结:
我必须承认,今天这个bug让我汗流不止,心跳不停,让我紧张地没有吃好晚饭。有bug怕什么,这不是也被咱解决了吗?
- 代理容不下的一个空格
- 错放一个真正的罪犯,天塌不下来;
- 一个空格引发的错误
- 一个空格引发的惨剧
-  一个汉字的空格
- 一个空格引发的思考
- 一个空格引发的惨剧
- 一个空格引起的“惨案”
- 一个空格引发的问题
- 一个空格惹的祸
- 一个空格造成的悲剧
- 代理的一个例子
- 一个代理的例子
- 调试进行不下去,你需要的只是你女儿的一个小玩具
- 将字符串中连续的空格转换为一个空格
- 字符串所有连续的空格替换为一个空格
- 将连续的多个空格用一个空格代替
- 删除字符串里多余的空格,只保留一个空格
- spring+servlet 简单演示
- Scala Actor:多线程的基础学习
- Shell中的grep、awk和sed的常用命令和语法
- hadoop版本的对比
- 在浏览的地址栏中,直接调用js「javascript:alert("hello wrold");」。
- 代理容不下的一个空格
- 基于Dojo的简单IDE编辑器----DOM浏览器上的实现
- 字符串全排列
- 腾讯微信技术总监周颢:一亿用户增长背后的架构秘密
- VS2010+OpenCV2.3.1创建win32 console App 来显示一副图像
- CSS Sprites
- js 俄罗斯方块
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- annotation学习随笔