Is it possible for a server to connect to another using Socket.IO and be treated like a client?
And have it join rooms, recieve io.sockets.in('lobby').emit(). And more?
The first server is also listening for connections/messages as well.
Hey Brad, here's my full .js app below for reference:
var io = require("socket.io").listen(8099); io.set('log level', 1); io.sockets.on("connection", function (socket) { console.log('A Client has Connected to this Server'); //Let Everyone Know I just Joined socket.broadcast.to('lobby').emit("message",'UC,' + socket.id); // Send to everyone in Room but NOT me socket.on("message", function (data) { //Missing code socket2.send('message,' + data); //Forward Message to Second Server }); socket.on("disconnect", function (data) { //Send Notification to Second Server //Need to figure out later //Send Notification to Everyone socket.broadcast.emit("message",'UD,' + socket.id ); //Send to Everyone but NOT me //Remove user from Session ID arSessionIDs.removeByValue(socket.id); //Send Notification to Console console.log("disconnecting " + arRoster[socket.id][1]); }); }); var io_client = require( 'socket.io-client' ); var socket2 = io_client.connect('http://192.168.0.104:8090'); socket2.on('connect', function () { socket2.emit('C3434M,Test'); });
Socket.io, and WebSockets in general, require an http server for the initial upgrade handshake. So even if you don't supply Socket.io with an http server it will create one for you.
Once you reboot your machine, you will now be able to happily go to 55k concurrent connections (per incoming IP).
Socket.IO is a library that enables low-latency, bidirectional and event-based communication between a client and a server. It is built on top of the WebSocket protocol and provides additional guarantees like fallback to HTTP long-polling or automatic reconnection.
Yes, absolutely. Just use the Socket.IO client in your server application directly.
https://github.com/LearnBoost/socket.io-client
You can install it with npm install socket.io-client
. Then to use:
var socket = io.connect('http://example.com'); socket.on('connect', function () { // socket connected socket.emit('server custom event', { my: 'data' }); });
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With