最近写了个socket客户端,是在winXP系统上开发的,结果交给测试的时候,他们先在Win7上开始测试了,然后就出现了下面的问题:
我能收到来自服务器的字节流,但是流里的数据全是零,所有的消息都这样。刚开始的时候我们都没有往操作系统上想。从服务器抓包,再在客户端抓包,发现抓到的包都正常,数据丰富,可是到我的socket客户端里就活生生地变成了零。
然后大家就在想,难道有什么东西把数据给置零了。最后网上的一片帖子给了点提示,帖子说java socket在win7上会异常。
那就把操作系统换成XP吧,结果程序就运行正常了。
win7的这个问题不知到有没有好的解决方法,望高人指教。
和操作系统没有关系,还是自己写代码时出的问题。用ByteArrayOutputStream而不是ByteArrayBuffer。
我能收到来自服务器的字节流,但是流里的数据全是零,所有的消息都这样。刚开始的时候我们都没有往操作系统上想。从服务器抓包,再在客户端抓包,发现抓到的包都正常,数据丰富,可是到我的socket客户端里就活生生地变成了零。
然后大家就在想,难道有什么东西把数据给置零了。最后网上的一片帖子给了点提示,帖子说java socket在win7上会异常。
那就把操作系统换成XP吧,结果程序就运行正常了。
win7的这个问题不知到有没有好的解决方法,望高人指教。
和操作系统没有关系,还是自己写代码时出的问题。用ByteArrayOutputStream而不是ByteArrayBuffer。
本文描述了一个在Windows XP上开发的Socket客户端在Windows 7系统中遇到的问题:接收到的数据全部为零。经过排查,发现在不同操作系统上的表现不一致,最终通过代码调整解决了该问题。
2699

被折叠的 条评论
为什么被折叠?



