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