2016-03-11 6 views
1

У меня есть простое приложение-узел, которое отправляет данные через сокеты tcp. По сути это два узла приложений отправителя и получателя, или клиента и сервера. Я могу открыть две терминальные оболочки на моем локальном хосте и посмотреть передачу данных через tcp-сокеты, поэтому я знаю, что это работает. Я хочу отправить данные с моего локального хоста на мой сервер с этими приложениями, но я не могу понять это. Могу ли я его маршрутизировать по IP-адресу, или если мне нужно открыть TCP-порты или отключить брандмауэры, не уверен. вот как выглядят серверные и клиентские приложения, когда я могу успешно отправлять данные на свой localhost. Я хочу использовать это клиентское приложение на своем локальном хосте и размещать серверное приложение на моем сервере centos и передавать данные, возможно ли это?Передача данных через сокеты tcp с помощью nodejs

/*** 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 но Heres код конф ..

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

ответ

0

Ofcouce это возможно. Установите IP-адрес сервера и порт прослушивания на клиенте. Затем, поскольку клиент собирается подключиться к серверу, вам придется открыть этот порт на сервере в обоих направлениях. А потом просто подключитесь.

В основном здесь tcpClient.connect('127.0.0.1', 6969); Вместо 127 ... должен быть реальный внешний IP-адрес сервера.

+0

Конечно, это был мой первый инстинкт, но он не работает для меня. Я предполагаю, что это потому, что правильные порты не открыты? Как я могу проверить это на моем mac и моем сервере centos? Нужно ли использовать nginx в качестве веб-сервера? @Sergey Yarotskiy – Nodedeveloper101

+0

Этот вопрос не имеет ничего общего с node.js и кодом. Спросите другого или просто используйте google, чтобы узнать, как проверить, открыт ли какой-либо порт или нет. –