我最近加入了一个新项目,我负责使用web套接字实现流数据。这个想法是目前通过HTTP请求(以RESTful方式)公开的一组信息,他们希望通过Web套接字进行公开。开始理解web套接字和http请求(和STOMP)
我在约网站插座和STOMP过去48小时内做了一大堆的研究,并希望得到几点澄清:
因此,对于客户端,并通过连接服务器web套接字而不是通过HTTP请求/响应,他们首先需要同意在它们之间建立一个Web套接字连接。这是通过HTTP GET完成的,通过一个唯一的头部来表示他们将使用Web套接字连接来代替?
理论上说,有一大堆不同的数据通过一些API暴露给浏览器。想象一下,有很多不同的HTTP请求可以做成GET,POST,DELETE。因此,为了让所有这些信息的某些部分通过Web套接字进行流式传输,只需简单地更改每个资源的当前GET请求,以检查该特殊WebSocket标头是否存在,然后执行某些操作?或者还有其他的事情需要通过网络套接字来暴露某些数据。如果您从HTTP请求初始化套接字,我可能会误解HTTP和套接字的关系。
我认为这些是我的两个主要问题,我相信这些答案将指向我继续学习更多关于该主题的正确方向。我试图找到任何好的示例代码示例,但我试图理解这一点,以便在本周内实施。
如果您希望实际实现WebSocket通信,那么您一定要阅读规范:https://tools.ietf.org/html/rfc6455。我相信你已经看到它,但只是想确保。 – Randy
如果你只是需要使用websocket通信(不需要实现规范),那么有很多库将封装你所有的辛苦工作。 Socket.io可能是更好的Node.js库之一,因为它在浏览器不支持Web套接字的情况下使用后备。 – Randy
检查这篇文章:https://blog.pusher.com/websockets-from-scratch – niba