我正在尝试设置socket.io并且我遇到了我90%确定是一个问题。我正在运行我的服务器,它说连接然后我得到了一些新的客户端,在2-3秒后进来。这是我的终端输出:
21 Dec 17:36:53 - socket.io ready - accepting connections
21 Dec 17:37:13 - Initializing client with transport "websocket"
21 Dec 17:37:13 - Client 4786583543755114 connected
21 Dec 17:37:18 - Client 4786583543755114 disconnected
21 Dec 17:37:18 - Initializing client with transport "xhr-polling"
21 Dec 17:37:18 - Client 377916906028986 connected
21 Dec 17:37:18 - Initializing client with transport "xhr-polling"
21 Dec 17:37:18 - Client 3885312571655959 connected
21 Dec 17:37:18 - Initializing client with transport "xhr-polling"
21 Dec 17:37:18 - Client 38271573395468295 connected
每1-2秒就会有更多。我正在使用safari,它支持websockets,第一个响应很明显。
这是我的服务器代码:
server = http.createServer(function(req, res){
// your normal server code
res.writeHead(200, {'Content-Type': 'text/html'});
var path = url.parse(req.url).pathname;
// console.log(__dirname + path);
fs.readFile(__dirname + path, function(error, data) {
res.end(data);
});
});
server.listen(80);
// socket.io, I choose you
var socket = io.listen(server);
socket.on('connection', function(client){
// new client is here!
client.on('message', function(){ });
client.on('disconnect', function(){ });
});
..和客户代码:
<script>
var socket = new io.Socket();
socket.connect();
socket.on('message', function(obj){
alert('got some data ' + obj);
});
socket.on('connect', function() {
console.log("We've connected!");
socket.send('some data');
})
</script>
任何领导或帮助都会很棒。谢谢!
答案 0 :(得分:2)
原来它是一个非常小的修复,它完全不同 - 不要忘记将HTML5 doctype <!doctype html>
添加到客户端!