search

Home  >  Q&A  >  body text

Java Websocket API (JSR356)创建的服务端或者客户端需要手动实现ping,pong逻辑吗?

最近在使用JSR356实现WebSocket应用。
连接建立之后,双方长时间没有发生消息,连接就会关闭。

onError得到的错误是 Timeout on Read

onClose得到的是
Code : 1001
Reason : Idle Timeout

大概去查了一部分资料,感觉可能跟ping pong有关系。API中看了一下,接受消息的时候,确实可以接收 PongMessage
而发消息确实也可以发送ping或者pong。

找到一个相关的资料在这里:
http://stackoverflow.com/questions/24416242/receiving-pings-with-java-ee-websocket-api

所以我是应该手动去实现一个ping的发送逻辑吗?

PHPzPHPz2891 days ago432

reply all(1)I'll reply

  • 大家讲道理

    大家讲道理2017-04-18 09:15:04

    Tomcat’s default connection time for sending messages is 20s. If you don’t send messages for more than 20s, you need to write a heartbeat

    reply
    0
  • Cancelreply