簡體   English   中英

使用Node.js通過TCP套接字傳輸數據

[英]Transferring data through tcp sockets using nodejs

我有一個簡單的節點應用程序,可通過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';
}

當然有可能。 在客戶端中設置服務器的IP和偵聽端口。 然后,由於客戶端將連接到服務器,因此您將必須在兩個方向上打開服務器上的此端口。 然后連接。

基本上在這里tcpClient.connect('127.0.0.1', 6969); 而不是127 ...應該是服務器的真實外部IP地址。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM