是否可以在打开websocket连接时发送数据

时间:2012-08-30 07:54:40

标签: html5 websocket jetty-8

我正在实现一个Jetty Websocket servlet。 当服务器收到新连接时,我想发送一条消息,该消息将由websocket的onopen函数读取。我希望此消息仅在打开期间发送,而不是使用常规connection.SendMessage()函数。有可能吗?怎么样?

2 个答案:

答案 0 :(得分:41)

不要忘记查询字符串。它在WebSocket url中有效。

new Websocket('ws://yoursite.com/path?a=1&b=2&c=3')

然后,您可以轻松解析服务器端的此URL以检索数据。

答案 1 :(得分:16)

协议中没有对此的支持,但你可以自己捏造一些东西。

  • 当您的服务器完成握手时,请将您要传递的初始消息存储到客户端。
  • 在您客户的onopen功能中,发送“阅读初始消息”请求。
  • 在您的服务器中,检查此客户端是否未读取其初始消息;回复消息;设置一个标志,表示已发送初始消息。
  • 您的客户端和服务器现在都可以免费发送其他消息。