Функция TCP socket.write в "net" пакете node.js не записывает данные в сокет - PullRequest
8 голосов
/ 17 февраля 2012

У меня возникли проблемы с записью 2 сообщений в сокет TCP с помощью сетевого пакета node.js.

Код:

var net = require('net');


var HOST = '20.100.2.62';
var PORT = '5555';

var socket = new net.Socket();

socket.connect (PORT, HOST, function() {
console.log('CONNECTED TO: ' + HOST + ':' + PORT);
// Write a message to the socket as soon as the client is connected, the server will   receive it as message from the client 
  socket.write('@!>');       
  socket.write('RIG,test,test,3.1');

});



// Add a 'data' event handler for the client socket
// data is what the server sent to this socket
socket.on('data', function(data) {
  console.log('DATA: ' + data);
  // Close the client socket completely
  //    client.destroy();
});

socket.on('error', function(exception){
  console.log('Exception:');
  console.log(exception);
});


socket.on('drain', function() {
  console.log("drain!");
});

socket.on('timeout', function() {
  console.log("timeout!");
});

// Add a 'close' event handler for the client socket
socket.on('close', function() {
   console.log('Connection closed');
});

Я также попытался предположительно более правильноФункция net.createConnection (arguments ...) из пакета net безуспешна.

На моей стороне сервера я вижу, что соединение с сокетом происходит так, как и ожидалось, но данные не принимаются серверомвот почему я подозреваю, что что-то не так с тем, как я использую функцию socket.write.Возможно, первые строковые символы вызывают путаницу?

Любая помощь будет принята с благодарностью.

Большое спасибо.

1 Ответ

17 голосов
/ 17 февраля 2012

Очевидно, это зависит от того, с каким сервером вы разговариваете, но вам, вероятно, следует разделить данные с помощью новых строк \n:

socket.write('@!>\n');       
socket.write('RIG,test,test,3.1\n');

Для некоторых серверов вам может понадобиться \r\n.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...