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