【问题标题】:Java Socket fast reconnectJava Socket 快速重连
【发布时间】:2015-05-13 18:25:47
【问题描述】:

我在使用套接字时遇到了一点问题。

这个方法大约需要 100ms 甚至更多,取决于服务器。 socket.connect(dest);

然后我通过数据输入/输出流与一个复杂的软件进行通信,因此有查询阶段、握手阶段、登录请求阶段等。

有什么方法可以从握手阶段“重置”数据流,以便服务器忘记所有内容,并且套接字将再次处于第一阶段而不执行 socket.connect(dest);又来了?

谢谢。

【问题讨论】:

  • 您使用的是哪种协议?您是否使用某种身份验证?你的端点在哪里?您正在使用哪种环境(语言等)?如果您也提供一些代码示例,那就太好了。

标签: java performance sockets connect reset


【解决方案1】:

这完全依赖于协议,它与套接字本身无关。

【讨论】:

  • 这也不是答案。
  • 其实我认为'这取决于'是这个问题的正确答案。
【解决方案2】:

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

当使用 DataInput/OutputStream 时,您可以定义一个包含任何数据的 Message 类,并且双方将在无限循环中运行,读取 Message、处理并可能生成响应消息。

【讨论】:

    猜你喜欢
    • 2012-03-04
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    • 2016-09-12
    相关资源
    最近更新 更多