用于小型传输的Ajax或Websockets

时间:2015-05-11 03:21:41

标签: javascript html ajax websocket socket.io

我正在构建一个使用Websockets(Socket.io)向服务器发送和接收消息的聊天网站。事实上,我的网站应该使用Websocket,现在我的问题是,对于其他传输,例如在登录时检查用户名或获取JSON和更新DOM以及其他内容,我可以使用相同的技术( Websockets)或者我必须使用Ajax?我知道以Websockets方式,服务器和客户端将具有持久连接。

最好的方法是什么?使用Websockets不适合这些目的吗?为什么呢?

1 个答案:

答案 0 :(得分:1)

您可以使用websockets。不同之处在于客户端始终连接的websockets。当你从客户端流入时,你将有一个处理消息的处理程序(可能只是json blobs可能带有某种messageType字段)。

这意味着服务器端处理基本相同,除了不是通过不同的HTTP请求(通过不同的路由)提供响应,您通过比switch语句复杂得多的东西将请求分派给适当的处理程序。然后通过websocket将任何结果发送回客户端,websocket具有类似的处理机制。

一个缺点是并非所有浏览器都支持websockets,因此如果您需要支持JSON的回退路径,那么对于aux请求使用回退JSON处理程序肯定更容易(因为无论如何你都会编写它们)。

否则差异可能是微不足道的。我会更关心代码清洁度。