it-swarm.com.de

Node.js-Client für einen socket.io-Server

Ich habe einen socket.io-Server und eine passende Webseite mit einem socket.io.js-Client. Alles funktioniert gut.

Aber ich frage mich, ob es möglich ist, auf einem anderen Computer eine separate node.js-Anwendung auszuführen, die als Client fungiert und eine Verbindung zum erwähnten socket.io-Server herstellt.

116

Dies sollte mit dem Socket.IO-Client möglich sein: https://github.com/LearnBoost/socket.io-client

74
alessioalex

Hinzufügen eines Beispiels für die zuvor angegebene Lösung. Durch die Nutzung socket.io-clienthttps://github.com/socketio/socket.io-client

Client-Seite:

//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');

Serverseite:

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

Lauf :

Öffne 2 Konsole und starte node server.js und node client.js

37
AzizSM

Nach der Installation von socket.io-client:

npm install socket.io-client

So sieht der Client-Code aus:

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?' });

Danke alessioalex .

Ja, Sie können jeden Client verwenden, solange er von socket.io unterstützt wird. Egal, ob es sich um einen Knoten handelt, Java, Android oder Swift. Alles, was Sie tun müssen, ist das Client-Paket von socket.io zu installieren.

0
Suleman Tanveer