Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Socket.io问题:使用';xhr轮询';_Javascript_Node.js_Websocket_Serverside Javascript - Fatal编程技术网

Javascript Socket.io问题:使用';xhr轮询';

Javascript Socket.io问题:使用';xhr轮询';,javascript,node.js,websocket,serverside-javascript,Javascript,Node.js,Websocket,Serverside Javascript,我正在尝试设置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 connecte

我正在尝试设置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,它支持WebSocket,这在第一个响应中就很明显了

这是我的服务器代码:

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>

var socket=新io.socket();
socket.connect();
socket.on('message',函数(obj){
警报(“获得一些数据”+obj);
});
socket.on('connect',function(){
log(“我们已连接!”);
send('some data');
})

任何线索或帮助都会很棒。谢谢

事实证明,这是一个真正的小补丁,它带来了所有的不同-别忘了将HTML5 doctype
添加到客户端的顶部

我没有遇到类似的问题,但我没有测试safari。我测试了google chrome/firefox