我寫了一些通過socket.io識別連接用戶的代碼示例...所以現在我必須在索引頁上編寫一個代碼來與用戶通信。Socket.io識別套接字的用戶
代碼如下以及如何發送消息給用戶[1]「歡迎」和用戶[2]「HI men」,並限制連接fr 2用戶。所以當兩個用戶連接,然後其他人無法連接..
的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);
所以你要確定哪些用戶連接到插座? – Dhiraj
像userNumber這樣的變量是好的,但絕對不會幫你從長遠來看,我建議去mongodb並開始存儲它的值 – Dhiraj
我需要這個例子...所以我想了解如何發送不同的消息給不同的用戶,併發送消息從客戶端到服務器,然後處理消息...所以我需要例如等發送onload消息給用戶[1],然後當消息被髮送創建一個div將誰desapire 5s - 僅針對用戶1 ...不針對用戶2 ...以及如何向用戶 – beginerplus