Socket.io随机聊天

我使用:node.js,socket.io 1.37,express.io

我的index.html

<!doctype html> <html> <head> <title>Socket.IO chat</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; } body { font: 13px Helvetica, Arial; } form { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%; } form input { border: 0; padding: 10px; width: 90%; margin-right: .5%; } form button { width: 9%; background: rgb(130, 224, 255); border: none; padding: 10px; } #messages { list-style-type: none; margin: 0; padding: 0; } #messages li { padding: 5px 10px; } #messages li:nth-child(odd) { background: #eee; } </style> </head> <body> <ul id="messages"></ul> <form action=""> <input id="m" autocomplete="off" /> <button>Send</button> </form> <script src="/socket.io/socket.io.js"></script> <script src="https://cdn.socket.io/socket.io-1.2.0.js"></script> <script src="http://code.jquery.com/jquery-1.11.1.js"></script> <script> var socket = io(); $('form').submit(function() { socket.emit('chat message', $('#m').val()); $('#m').val(''); return false; }); socket.on('chat message', function(msg) { $('#messages').append($('<li>').text(msg)); }); </script> </body> </html> 

我的server.js

 var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); app.get('/', function(req, res) { res.sendfile('index.html'); }); io.on('connection', function(socket) { socket.on('chat message', function(msg) { io.emit('chat message', msg); }); }); http.listen(3000, function() { console.log('listening on *:3000'); }); io.on('connect', function(socket) { console.log('a user connected'); socket.on('disconnect', function() { console.log('user disconnected'); }); }); 

我想创build像chatrandom随机人(套接字)连接在私人房间(只有两个sockets可以join到一个房间)

我需要做什么? 我有这个代码,我觉得开始很好,但是我不知道接下来会发生什么。 你能给一些build议,解释一下吗?

在向用户显示聊天框之前,您需要让他们select一个唯一的用户名(并指定一个ID)或类似的东西。

然后,你可以将他们与没有聊天伙伴的其他人进行配对(查看所有当前聊天的列表,让程序select一个没有与之关联的ID),并将他们的交互保存在某种轻量级数据库(Google“NoSQL for JavaScript”, MongoDB很受欢迎)。