I am writing sample code that identified users through socket.io ... So now I have to write code on the index page to communicate with users.
The code below and HOW to send a message to the user [1] "Welcome" and for the user [2] "HI men", as well as limit the connection of users fr. therefore, when 2 users are connected, then someone else cannot connect ..
Index.html:
<script src="/socket.io/socket.io.js"></script> <script> var socket = io.connect(); var users; socket.on('hello', function (data) { console.log(data.hello); }); socket.on('listing', function (data) { users = data; }); socket.on('chat', function (message) { console.log(message); }); socket.on('message', function (message) { console.log(message); }); function chat (message) { socket.emit('chat', message); } function message (user, message) { socket.emit('message', { user: user, message: message }); } </script>
app.js
var express = require('express'); var app = express.createServer(); var io = require('socket.io').listen(app); app.listen(3000); app.use(express.static(__dirname)); var users = {}; var userNumber = 1; function getUsers () { var userNames = []; for(var name in users) { if(users[name]) { userNames.push(name); } } return userNames; } io.sockets.on('connection', function (socket) { var myNumber = userNumber++; var myName = 'user#' + myNumber; users[myName] = socket; socket.emit('hello', { hello: myName }); io.sockets.emit('listing', getUsers()); socket.on('chat', function (message) { io.sockets.emit('chat', myName + ': ' + message); }); socket.on('message', function (data) { users[data.user].emit('message', myName + '-> ' + data.message); }); socket.on('disconnect', function () { users[myName] = null; io.sockets.emit('listing', getUsers()); }); }); app.listen(process.env.PORT);
beginerplus
source share