我正在构建一个使用Websockets(Socket.io)
向服务器发送和接收消息的聊天网站。事实上,我的网站应该使用Websocket
,现在我的问题是,对于其他传输,例如在登录时检查用户名或获取JSON
和更新DOM
以及其他内容,我可以使用相同的技术( Websockets
)或者我必须使用Ajax?我知道以Websockets
方式,服务器和客户端将具有持久连接。
最好的方法是什么?使用Websockets
不适合这些目的吗?为什么呢?
答案 0 :(得分:1)
您可以使用websockets。不同之处在于客户端始终连接的websockets。当你从客户端流入时,你将有一个处理消息的处理程序(可能只是json blobs可能带有某种messageType字段)。
这意味着服务器端处理基本相同,除了不是通过不同的HTTP请求(通过不同的路由)提供响应,您通过比switch语句复杂得多的东西将请求分派给适当的处理程序。然后通过websocket将任何结果发送回客户端,websocket具有类似的处理机制。
一个缺点是并非所有浏览器都支持websockets,因此如果您需要支持JSON的回退路径,那么对于aux请求使用回退JSON处理程序肯定更容易(因为无论如何你都会编写它们)。
否则差异可能是微不足道的。我会更关心代码清洁度。