我正在实现一个Jetty Websocket servlet。 当服务器收到一个新连接时,我想发送一个消息,这个消息将被websocket的onopen函数读取。我希望此消息仅在打开时发送,而不是使用常规的connection.SendMessage()函数。有可能这样做吗?如何?是否有可能在打开websocket连接时发送数据
21
A
回答
15
在协议中没有这方面的支持,但你可以自己捏造一些东西。
- 当您的服务器完成握手时,存储要传递给客户端的初始消息。
- 在客户端的
onopen
函数中,发送“读取初始消息”请求。 - 在您的服务器中,检查该客户端是否未读取其初始消息;回应消息;设置一个标志,说明最初的消息已经发送。
- 您的客户端和服务器现在都可以自由发送其他消息。
34
不要忘记查询字符串。它在WebSocket url中有效。
new Websocket('ws://yoursite.com/path?a=1&b=2&c=3')
然后,您可以轻松地解析服务器端的这个网址来检索数据。
+0
亚,但你如何解析服务器端的网址?网址本身在哪里可用? –
+0
应该也许应该提到一个@PathParam的选项...参见[这个答案](https://stackoverflow.com/questions/21559260/how-do-i-pass-a-parameter-to-the-onopen-方法与 - jee7-的WebSockets) –
相关问题
- 1. 检查连接到websocket是否仍然打开Net :: Async :: WebSocket
- 2. 是否可以向客户端发送WebSocket连接?
- 3. 客户端连接并接收websocket数据但不能发送
- 4. 是否有可能在Silverlight中创建WebSocket连接?
- 5. 从Meteor.js打开Websocket连接
- 6. Websocket不会打开连接
- 7. 打开websocket连接firefox addon
- 8. 是否有可能从websocket连接访问HTTP请求?
- 9. 是否可以通过WebSocket握手发送自定义数据?
- 10. 是否有可能将套接字打开无限时间
- 11. Android Lollipop中有可能打开/关闭数据连接?
- 12. 是否可以在打开连接之前检查到SQL数据库的连接是否存在?
- 13. 是否有可能没有连接到数据库的DataGridView?
- 14. 启用数据连接不能打开
- 15. 是否有可能将clubbed数据发送到谷歌分析?
- 16. Cometd - Websocket打开/活动连接实时计数
- 17. Spring Websocket服务器在发送大量数据时重置连接
- 18. 检查数据是否连续发送
- 19. 是否有可能使用python连接MySQL数据库
- 20. 是否有可能通过PHP将.htaccess连接到数据库
- 21. 在OleDb连接打开时发生SEHException
- 22. 是否有可能发出无法打开应用程序的推送通知
- 23. 防止在网络连接不可用时发送UDP数据
- 24. Websocket能否从ajax接收数据?
- 25. 是否有可能知道一个串口在linux中是否连接/断开?
- 26. Websocket连接在Shotgun服务器上未打开时关闭
- 27. .Net WebSocket Prototype ...在Javascript中打开连接时遇到问题
- 28. WebSocket不发送数据
- 29. gevent tcp socket已断开连接但可以发送数据
- 30. WebSocket可以连接到本地服务器,但不能发送或接收
谢谢,我想知道如果我在网上搜索时可能错过了一些东西。我会按照你所建议的方法。 – DPD