Узел.клиент js для сокета.сервер ввода-вывода

У меня есть сокет.IO-сервер работает и соответствующая веб-страница с socket.io.js клиент. Все работает нормально.

но мне интересно, можно ли на другой машине запустить отдельный узел.приложение js, которое будет выступать в качестве клиента и подключаться к указанному сокету.сервер ввода-вывода?

3 ответов


Это должно быть возможно с помощью сокета.IO-клиент:https://github.com/LearnBoost/socket.io-client


добавление в примере для решения данного ранее. Используя socket.io-client https://github.com/socketio/socket.io-client

Клиентской Стороне:

//client.js
var io = require('socket.io-client');
var socket = io.connect('http://localhost:3000', {reconnect: true});

// Add a connect listener
socket.on('connect', function (socket) {
    console.log('Connected!');
});
socket.emit('CH01', 'me', 'test msg');

Сервер :

//server.js
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

io.on('connection', function (socket){
   console.log('connection');

  socket.on('CH01', function (from, msg) {
    console.log('MSG', from, ' saying ', msg);
  });

});

http.listen(3000, function () {
  console.log('listening on *:3000');
});

Run:

Откройте консоль 2 и запустите node server.js и node client.js


после установки сокета.io-клиент:

npm install socket.io-client

вот как выглядит клиентский код:

var io = require('socket.io-client'),
socket = io.connect('localhost', {
    port: 1337
});
socket.on('connect', function () { console.log("socket connected"); });
socket.emit('private message', { user: 'me', msg: 'whazzzup?' });

спасибо alessioalex.