使用 nodejs 通过 tcp 套接字传输数据

Transferring data through tcp sockets using nodejs

本文关键字:传输 数据 套接字 tcp nodejs 通过 使用      更新时间:2023-09-26

我有一个简单的节点应用程序,它通过tcp套接字发送数据。本质上,它是两个节点应用程序,一个发送方和一个接收方,或者一个客户端和一个服务器。我可以在我的本地主机上打开两个终端外壳,并查看通过 tcp 套接字传输的数据,所以我知道它可以工作。我想使用这些应用程序将数据从本地主机发送到我的服务器,但我无法弄清楚。无论是IP地址路由,还是我必须打开TCP端口或禁用防火墙,都不确定。以下是我可以在本地主机上成功发送数据时服务器和客户端应用程序的外观。我想在我的本地主机上使用此客户端应用程序,并将服务器应用程序托管在我的 centos 服务器上并传输数据,这可能吗?

  /*** TCP Client ***/
    /* Dependencies */
    var fs = require('fs');
    var hl7 = require('simple-hl7');
    /* Build TCP Server */
    var server = hl7.Server;
    var tcpClient = server.createTcpClient();
    /* Connection */
    tcpClient.connect('127.0.0.1', 6969);
    /* Get XML  */
    var msg = fs.readFileSync('./data/example.xml').toString();
    /* Send Message */
    setTimeout(function() {
        tcpClient.send(msg, function(ack) {
          console.log("ACK: ",ack.toString());
          console.log("'nsuccessful transfer");
          tcpClient.close();
        });
    }, 500);

服务器可以在这里找到。点击这里但这是配置代码..

/*
    Config class
    vars:
    baseFolder: Where to save the messages
    port      : What port to listen on
    ip        : what ip to listen on
*/
var Config = new function() {
    this.baseFolder = "data";
    this.port = 6969;
    this.ip = '127.0.0.1';
}

Ofcouce 这是可能的。在客户端中设置服务器的 IP 和侦听端口。然后,由于客户端要连接到服务器,因此您必须在服务器上双向打开此端口。然后只需连接。

基本上这里tcpClient.connect('127.0.0.1', 6969);而不是127...应该是服务器的真实外部IP地址。