Socket.ioサーバーが実行されており、socket.io.jsクライアントと一致するWebページがあります。すべて正常に動作します。
しかし、別のマシンで、クライアントとして機能し、前述のsocket.ioサーバーに接続する別のnode.jsアプリケーションを実行することが可能かどうか疑問に思っています。
Socket.IO-clientを使用して可能になります: 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');
});
実行:
2つのコンソールを開き、node server.js
およびnode client.js
を実行します
Socket.io-clientをインストールした後:
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 。
はい。socket.ioでサポートされている限り、任意のクライアントを使用できます。そのノード、Java、Android、またはSwiftに関係なく。必要なのは、socket.ioのクライアントパッケージをインストールすることだけです。