gpt4 book ai didi

node.js - 在 Node : socket. io 或 net 模块中创建客户端-服务器 TCP 连接

转载 作者:可可西里 更新时间:2023-11-01 02:31:31 26 4
gpt4 key购买 nike

我是 Node 的新手,我想使用 node.js 在客户端和服务器之间创建一个 TCP 连接。我已经有一个建立在 Node 上的 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);
  • 基于网络模块创建一个单独的 TCP 服务器,然后在此 TCP 服务器和 http 服务器之间建立连接,就像这里建议的那样 Create WebSockets between a TCP server and HTTP server in node.js

    var net = require('net');
    net.createServer(function (socket) {
    socket.write('Hello World!\r\n');
    socket.end();
    }).listen(1337);

那么,我们什么时候需要创建 2 个独立的 TCP 和 HTTP 服务器,什么时候我们只需要一个服务器(将一个 HTTP 服务器升级为一个 socket.IO 服务器)?

最佳答案

WebSockets 与 TCP 连接没有任何关系(除了它们使用它们)。如果您只想打开一个常规的 TCP 连接,内置的 net 包就是您要找的。

Socket.IO 是一个 RPC 包,它使用 WebSockets 或模拟 WebSockets 而不是其他传输方式,例如长轮询 JSON。

关于node.js - 在 Node : socket. io 或 net 模块中创建客户端-服务器 TCP 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20527860/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com