xhr poll错误出现在使用socket.io时抛出

use*_*462 5 xmlhttprequest node.js express socket.io cordova

我写了一个关于socket.io的非常简单的演示并且我使用phonegap打包它.我发现有问题.在我打开我的应用程序大约十秒后,由于xhr轮询错误,连接将断开连接.如果我在断开连接事件中刷新页面,则错误将不再出现.我使用1.2.0版本.这是我的代码.我已经简化了它.

服务器:

var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var path = require('path');

var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser());


app.use(express.static(path.join(__dirname, 'public')));


io.sockets.on('connection', function (socket) {

    console.log("disconnect--"+socket.id+"--"+io.sockets.server.eio.clientsCount);

    socket.on('disconnect', function () {
        console.log("disconnect--"+io.sockets.server.eio.clientsCount);
    });

});

http.listen(80, function () {
    console.log("server statrt");
});
Run Code Online (Sandbox Code Playgroud)

客户:

 $(document).ready(function () {

                var socket = io("http://192.168.0.106:80");

                socket.on('connect', function () {
                    alert("connect");
                });

                socket.on('error', function (data) {
                    alert(data);
                });

                socket.on('disconnect', function () {
                    alert("disconnect");
                });

                socket.on("reconnect", function () {
                    alert("reconnect");
                })

            });
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.我的英语不是很好

sba*_*eri 2

当 deviceready 事件被触发时,您必须打开 socket.io 连接。

document.addEventListener('deviceready', function() {

    var socket = io("http://192.168.0.106:80");

    socket.on('connect', function() {
        alert("connect");
    });

    socket.on('error', function (data) {
        alert(data);
    });

    socket.on('disconnect', function () {
        alert("disconnect");
    });

    socket.on("reconnect", function () {
        alert("reconnect");
    });

});
Run Code Online (Sandbox Code Playgroud)

Socket.io 示例