有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

通过HTTP代理socketJava TCP数据包

我正在发送TCP数据包,每个数据包只有几位(一行左右的文本)。我通过HTTP代理将它们发送到远程服务器,但是由于某种原因,当与代理的连接缓慢或中断时,服务器只到达数据包的一部分,而不是整个数据包,这会导致服务器端出现异常,这怎么可能呢?客户端有没有办法防止发送数据包的片段而不是整个数据包

示例:我正在尝试发送此数据包:

packetHead: id (1-99)
integer: 1
short: 0
byte: 4

在我的例子中,有时服务器只到达packetHead和integer,当与代理的连接不好时,数据包的其余部分丢失

我无法修改服务器源代码,因此需要在客户端修复它

谢谢你的提示


共 (1) 个答案

  1. # 1 楼答案

    请展示您如何发送数据。每次我遇到类似的问题,都是因为我没有冲洗小溪。尤其是当流被压缩时,需要在GZIP或类似对象上调用close/complete来实际发送所有内容