J'ai un serveur socket.io en cours d'exécution et une page Web correspondante avec un client socket.io.js. Tout fonctionne bien.
Mais, je me demande s’il est possible, sur une autre machine, d’exécuter une application node.js distincte qui agirait en tant que client et se connecterait au serveur socket.io mentionné?
Cela devrait être possible avec Socket.IO-client: https://github.com/LearnBoost/socket.io-client
Ajout dans l'exemple de solution donné plus tôt. En utilisant socket.io-client
https://github.com/socketio/socket.io-client
Côté 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');
Du côté serveur :
//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');
});
Courir :
Ouvrez la console 2 et exécutez node server.js
et node client.js
Après avoir installé socket.io-client:
npm install socket.io-client
Voici à quoi ressemble le code 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?' });
Merci alessioalex .
Oui, vous pouvez utiliser n’importe quel client tant qu’il est pris en charge par socket.io. Peu importe que son nœud, Java, Android ou Swift. Tout ce que vous avez à faire, est d’installer le package client de socket.io.