通过HTTP代理socketJava TCP数据包
我正在发送TCP数据包,每个数据包只有几位(一行左右的文本)。我通过HTTP代理将它们发送到远程服务器,但是由于某种原因,当与代理的连接缓慢或中断时,服务器只到达数据包的一部分,而不是整个数据包,这会导致服务器端出现异常,这怎么可能呢?客户端有没有办法防止发送数据包的片段而不是整个数据包
示例:我正在尝试发送此数据包:
packetHead: id (1-99)
integer: 1
short: 0
byte: 4
在我的例子中,有时服务器只到达packetHead和integer,当与代理的连接不好时,数据包的其余部分丢失
我无法修改服务器源代码,因此需要在客户端修复它
谢谢你的提示
# 1 楼答案
请展示您如何发送数据。每次我遇到类似的问题,都是因为我没有冲洗小溪。尤其是当流被压缩时,需要在GZIP或类似对象上调用close/complete来实际发送所有内容