use*_*220 7 tcp httpserver node.js socket.io
我是节点的新手,我想使用node.js在客户端和服务器之间创建TCP连接.我已经在节点上构建了一个http服务器,它可以向客户端发送数据或从客户端发送数据.现在,我需要添加这种"连接"导向的概念.
我一直在阅读教程和论坛,我有点困惑.如果我理解得很好,有两种方法可以创建这种连接:
将我已经存在的http服务器升级到socket.IO服务器
var app = require('http').createServer(handler);
var io = require('socket.io').listen(app);
function handler(req, res){
//code
}
app.listen(8080);
Run Code Online (Sandbox Code Playgroud)创建一个基于net模块的单独TCP服务器,然后在此TCP服务器和http服务器之间建立连接,如此处所示.在node.js中的TCP服务器和HTTP服务器之间创建WebSockets
var net = require('net');
net.createServer(function (socket) {
socket.write('Hello World!\r\n');
socket.end();
}).listen(1337);
Run Code Online (Sandbox Code Playgroud)那么,我们何时需要创建2个独立的TCP和HTTP服务器,何时需要只有一个服务器(将HTTP服务器升级到socket.IO)?
Bra*_*rad 11
WebSockets与TCP连接没有任何关系(除了它们使用它们之外).如果您只是想打开常规的TCP连接,那么内置net包就是您所需要的.
Socket.IO是一个RPC包,它使用WebSockets或模拟WebSockets而不是其他传输,例如长轮询JSON.
如果您的客户端是浏览器,那么您唯一的选择是使用 WebSockets(socket.io 提供了这样的实现)。
浏览器没有可用于打开原始 TCP 套接字的 API,而这是 net 模块为您提供的。
| 归档时间: |
|
| 查看次数: |
10203 次 |
| 最近记录: |