我正在实现一个JettyWebsocket servlet。当服务器接收到新的连接时,我想发送一条消息,该消息将由websocket的onopen函数读取。我希望此消息只在打开时发送,而不使用常规连接。SendMessage()函数。有可能做到吗?如何?
不要忘记查询字符串。它在WebSocket url中有效。
new Websocket('ws://yoursite.com/path?a=1&b=2&c=3')
然后,您可以在服务器端轻松地解析这个url来检索数据。
协议中不支持这一点,但您可以自己篡改一些内容。
- 当服务器完成握手时,存储要传递给客户端的初始消息
- 在客户端的
onopen
功能中,发送"读取初始消息"请求 - 在服务器中,检查此客户端是否未读取其初始消息;用消息进行响应;设置一个标志,表示初始消息已发送
- 您的客户端和服务器现在都可以自由发送其他消息