我试图升级到socket.io 0.7.9并遇到问题。Socket.io 0.7.9连接问题
我已经使用了socket.io主页中的基本示例。我的服务器是:
var http = require('http'),
url = require('url'),
https = require('https'),
fs = require('fs'),
crypto = require('crypto'),
io = require('../'),
sys = require(process.binding('natives').util ? 'util' : 'sys'),
server = http.createServer(function(req, res){
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end();
});
server.listen(80,"[MYIP]");
var io = io.listen(server), buffer=[];
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
它在一些计算机上连接正常,但在其他计算机上没有连接。所有浏览器都是一样的。
有谁知道为什么会发生这种情况?会有一些本地网络问题导致这种情况吗?
UPDATE 似乎无法从他们的计算机连接的人正在运行反病毒与实时网盾似乎阻止连接。当它们关闭时,它在某些浏览器上连接正常...
因为他们改变了websocket版本,所以Socket.io在chrome 14和15上有问题。就我个人而言,我已经关闭了websocket的运输工具,以便在事情稳定的情况下可靠地运行。 – generalhenry
我在OS 10.6.8上测试了你的演示。Safari做的websockets很好,Firefox做的xhr很好,Opera做的jsonp很好,Chrome 15用websockets弄错了。 (在Chrome操作系统上也是如此) – generalhenry
看起来它正在影响那些使用Avast反病毒的用户,这种病毒以阻止Websockets而闻名。 Avast不喜欢80端口,所以我将不得不将其改为别的。感谢您的帮助@generalhenry。 – Kit