我对WebSockets很陌生,这可能完全是疯了。如果是这样,请告诉我应该做什么。
我的想法是,我希望在浏览器中建立一个WebSocket连接,最终与数据库连接。因为db不应该暴露给浏览器,所以当然会在它们之间的服务器层接收WebSocket消息,然后将其转换为类似POST或DELETE请求的内容。然后,服务器将该消息传递给数据库。
所以问题是:是否存在将WebSocket消息转换为HTTP请求的某种标准?
我发现了一篇博文,其中的人确保他的浏览器中的WebSocket消息以{"method":"POST","content":"foo"}
的形式出现,因此可以通过正常的JSON解析来理解它们。这样的事情还可以,或者是否有更可接受的“正确方法”。
答案 0 :(得分:2)
这样的事情不仅可以,而且是唯一的方法。您需要一个协议才能在服务器和客户端之间进行通信(否则服务器/客户端将如何理解您的需求?)。无论你选择什么,都可以(你甚至可以在WebSockets上使用标准HTTP)。创建自己的协议(就像你提出的例子一样)也很好。我更喜欢基于JSON的协议,因为它很容易使用它们(JSON解析器是内置的,或者在大多数已知的语言中都很容易获得)