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

时间:2016-03-11 00:01:39

标签: javascript node.js sockets tcp hl7

我有一个简单的节点应用程序,它通过tcp套接字发送数据。本质上,它是两个节点应用程序,一个发送者和一个接收者,或一个客户端和服务器。我可以在我的localhost上打开两个终端shell,看看通过tcp套接字传输数据,所以我知道它有效。我想通过这些应用程序将数据从我的本地主机发送到我的服务器,但我无法弄清楚..它的IP地址路由或者我是否必须打开tcp端口或禁用防火墙,不确定。这是我在本地主机上成功发送数据时服务器和客户端应用程序的样子。我想在我的localhost上使用这个客户端应用程序并在我的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);

服务器可以在这里找到。 click here 但继承人的配置代码..

/*
    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';
}

1 个答案:

答案 0 :(得分:0)

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

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