Mig*_*nez 7 javascript sockets node.js socket.io node-modules
我最近遇到了 Node 的 net 模块,我想知道使用这个模块是否等同于使用 socket.io 模块。它们之间有什么区别?谢谢!
jfr*_*d00 17
我最近遇到了 Node 的 net 模块,我想知道使用这个模块是否等同于使用 socket.io 模块。
不,它们甚至不是同一件事。
Node 的 net 模块是一个基本的底层 TCP 和 UDP 接口。它允许您与某个端点建立 TCP 或 UDP 连接,然后通过该连接从该端点发送或接收数据。这些是原始 TCP 连接。您定义通信中使用的协议、数据格式和所有约定。TCP所做的就是将您的数据从一端传送到另一端。
socket.io 有点处于网络堆栈的另一端。
socket.io
webSocket
TCP
Run Code Online (Sandbox Code Playgroud)
webSocket 建立在 TCP 之上。它有自己独特的连接方案,从带有某些自定义标头的 http 连接开始,然后请求“升级”到 webSocket 协议。如果服务器批准升级,那么 http 连接开始的同一个 TCP 套接字将转换为 webSocket 协议。webSocket 协议有它自己独特的加密和数据格式。
Socket.io 建立在 webSocket 协议之上(意味着它使用 webSocket 协议进行通信)。Socket.io 有它自己独特的连接方案(从 http 轮询开始,然后在允许的情况下切换到常规的 webSocket)并且它有一个额外的数据结构建立在 webSocket 数据帧之上,它定义了一个消息名称和一个数据包以及一个其他一些家务事。
浏览器 Javascript 支持 socket.io 和 webSocket。浏览器 Javascript 不支持普通 TCP 或 UDP 连接。因此,如果您希望与浏览器进行通信,则不会使用普通 TCP。
| 归档时间: |
|
| 查看次数: |
1835 次 |
| 最近记录: |