问题描述
VB6做的服务器端WinSocket,向Java客户端发送数据,第一次发送SendData,Java正常接收。然后再次发送SendData,Java就接收不到数据了。分析原因,发现与http://bbs.csdn.net/topics/120116546这位大哥遇到的问题一模一样。这位大哥在帖子的最后给出来原因:“是VB的服务端程序多发了两个字节的0,这样下一个包的包头就不对了。”可是我知道了这个原因之后,却想不出解决办法,所以在此希望各位大哥能帮忙出个好主意解决问题,谢谢!
解决方案
解决方案二:
有没有相关部分代码贴出来看看
解决方案三:
按你这说法,不是在Java端把收到的数据都打印出来看看么?Java端连接始终正常么,每次读取到的字节数是多少,在收到时会中断么?socket.getInputStream().read()碰到有什么反应?
解决方案四:
用wireshark抓包可以直接看到字节流的,接收方都要有个缓存字节的地方,不能保证每次就能收到一个完整的包的.
时间: 2024-09-23 05:36:53