【发布时间】:2014-08-06 22:35:43
【问题描述】:
我在使用套接字 IO 将我的服务器连接到客户端(http 网站)时遇到问题。
在客户端上,我有一个按钮,按下该按钮会将数据发送到服务器。但是,这只适用于一个客户。
如果我有两个客户端,第一个打开http网站的人获得socket IO连接,而第二个可以打开页面,但不能向服务器发送任何数据。
在客户端:
var socket = new io.connect('ServerIP:8090');
socket.on('message', function(obj){
if ('buffer' in obj){
//ignore this
} else message(obj);
});
在服务器端:
var io = io.listen(server)
, buffer = [];
io.on('connection', function(client)
{
client.send({ buffer: buffer });
client.broadcast.send({ announcement: client.sessionId + ' connected' });
chatGuests.push(client);
client.on('message', function(message){
var msg = { message: [client.sessionId, message] };
buffer.push(msg);
if (buffer.length > 15) buffer.shift();
client.broadcast.send(msg);
});
client.on('disconnect', function(){
client.broadcast.send({ announcement: client.sessionId + ' disconnected' });
});
【问题讨论】:
-
来自socket.io site的分步聊天服务器方法