Websocket 和 Socket 以及 XMPP 之间的区别?

Difference between Websocket and Socket and XMPP?

帮助我了解 Socket、Websockets 和 XMPP 协议之间的区别。

"Socket" 是一个术语,通常用于指代软件中对普通 TCP/IP(或等效)对话中发生的事情的一些抽象。套接字可以在由 IP 号标识的两点之间的数据包中提供可靠的 point-to-point 对话。大多数编程语言或库都提供了在这个意义上模拟套接字的东西。

Websockets 是一种允许 socket-like 在 Web 浏览器与其客户端之间发起通信的协议,作为基本 HTTP 协议的扩展。对话不需要严格 point-to-point,因为它可以像 HTTP 一样通过代理。 Websocket 会话由类似于 HTTP 的 headers 交换发起。

XMPP 是一种 XML-based 消息传递协议,由 "instant" messaging-type 应用程序使用。