网上的代码不要轻易复制


现在这个数据爆炸的时代,缺个代码很容易就可以在网上找到,问题是作者的水平参差不齐,造成了很多代码会有很多潜在的问题,甚至是很明显的问题。我来举个例子,之前我想在flash上使用websocket协议,就在网上找别人写好的类,结果发现一堆bug,恐怖的是这篇文章百度转载一堆。

比如这篇文章:http://www.jb51.net/article/34085.htm,数数有多少bug。

bug1:截取数据问题

QQ图片20160516151608

trueLen是一个无符号16位整形,然后截取之后他的记录点并没有加2位,为什么他没事?应该他程序没跑到这里呗,不跑到这段是没事的。

 

bug2:程序头问题

QQ图片20160516151733

简直无力吐槽,这个问题怎么发生的。为什么他还没事?因为很多后台语言只检测到“/r/n/r/n”就结束了,后面的数据就丢掉了。但是正规的做法,并不能丢掉,而是作为第二个包发过来了……

 

bug3:包过大无法发送

前面几个简单的问题都没有解决,这个问题就不用说了,作者肯定只检测了小包,没有检测大包。

 

所以说网上的代码不要轻易复制,特别是百度上的,要copy代码还是去github吧。当然谁都有可能出错这里也不是批评作者,只不过大家写代码的时候不要无脑copy。过几天本人会放出修改过的flash websocket类。


上一篇 下一篇