Java 套接字快速重连

Java Socket fast reconnect

我遇到了套接字的小问题。

此方法大约需要 100 毫秒甚至更多,具体取决于服务器。 socket.connect(目的地);

然后我通过DataInput/Output流与一个复杂的软件通信,所以有查询阶段、握手阶段、登录请求阶段等

有什么方法可以 "reset" 握手阶段的数据流,这样服务器就会忘记所有内容,并且套接字将再次进入第一阶段而无需执行 socket.connect(dest);再次?

谢谢。

这完全取决于协议,与套接字本身无关。

没有什么能阻止您通过套接字来回传递尽可能多的消息;除非 你的 协议(或缺少明确定义的协议)如果它没有指示消息 starts/ends.

的位置

当使用 DataInput/OutputStream 时,您可以只定义一个消息 class 包含任何数据,双方将 运行 在无限循环中读取消息,处理并可能生成回复信息。