我遇到了使用Socket IO连接我的服务器和客户端(HTTP网站)的问题。
在客户端,我有一个按钮,当按下时会向服务器发送数据。但是,这只适用于一个客户端。
如果有两个客户端,则第一个打开HTTP网站的人将获得Socket IO连接,而第二个人可以打开页面,但无法向服务器发送任何数据。
客户端方面:
在客户端,我有一个按钮,当按下时会向服务器发送数据。但是,这只适用于一个客户端。
如果有两个客户端,则第一个打开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' });
});