所以我有一个非常基本的socket.io设置,你可能已经看过一千次了。
请注意这里文件是通过Apache服务器提供的。 服务器(app.js)
"客户"
然而,我得到的唯一输出是。
在节点控制台中有输出,但客户端控制台没有。这是错误的。
我尝试了 socket.io 网站上的基本示例,它显示完全相同的行为。它在节点控制台中记录了发出的数据,但似乎没有其他任何反应。
编辑:进一步调查发现,在 Firefox 中访问该网站会在节点控制台中创建不同的输出:
这似乎是客户端发送的数据实际上已经到达了服务器。然而,这似乎并没有解决实际的问题:控制台日志行以及客户端和服务器端都没有执行。此输出来自Firefox 5.0.1,它似乎会回退到xhr。
提前感谢您的帮助!
请注意这里文件是通过Apache服务器提供的。 服务器(app.js)
var io = require('socket.io').listen(8080);
io.sockets.on('connection', function(socket){
socket.emit('server ready', {msg: 'hi'}) ;
socket.on('random event', function(data) {
console.log('received');
})
});
"客户"
$(document).ready(function() {
var socket = io.connect('http://127.0.0.1:8080/projectname/server/');
socket.on('server ready', function(data){
console.log('server ready!');
});
socket.emit('random event', {hurr: 'durr'});
});
然而,我得到的唯一输出是。
debug - websocket writing 5:::{"name":"server ready","args":[{"msg":"hi"}]}
在节点控制台中有输出,但客户端控制台没有。这是错误的。
我尝试了 socket.io 网站上的基本示例,它显示完全相同的行为。它在节点控制台中记录了发出的数据,但似乎没有其他任何反应。
编辑:进一步调查发现,在 Firefox 中访问该网站会在节点控制台中创建不同的输出:
info - handshake authorized 178702677759276313
debug - setting request GET /socket.io/1/xhr-polling/178702677759276313?t=1339080239192
debug - setting poll timeout
debug - client authorized for
debug - clearing poll timeout
debug - xhr-polling writing 1::
debug - set close timeout for client 178702677759276313
debug - xhr-polling received data packet �17�1::/stock/server/�66�5::/stock/server/:{"name":"random event","args":[{"hurr":"durr"}]}
debug - setting request GET /socket.io/1/xhr-polling/178702677759276313?t=1339080239263
debug - setting poll timeout
debug - clearing poll timeout
debug - xhr-polling writing 5:::{"name":"server ready","args":[{"msg":"hi"}]}
这似乎是客户端发送的数据实际上已经到达了服务器。然而,这似乎并没有解决实际的问题:控制台日志行以及客户端和服务器端都没有执行。此输出来自Firefox 5.0.1,它似乎会回退到xhr。
提前感谢您的帮助!
http://127.0.0.1:8080/projectname/server/
而不是http://127.0.0.1:8080/
或者仅仅是io.connect()
呢? - alessioalexprojectname/server
直接连接到127.0.0.1:8080
。如果客户端直接连接到你的节点应用程序的8080端口,那么你的app.js所在的位置就无关紧要了...它位于8080
。你在第二个日志中使用的是哪个版本的Firefox?Socket.io退回到了xhr轮询...甚至没有运行web sockets。 - Wes Johnson