首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >服务器上的Socket.io错误

服务器上的Socket.io错误
EN

Stack Overflow用户
提问于 2018-06-08 09:31:10
回答 1查看 3.4K关注 0票数 0

我试图在实时服务器上使用socket,我得到了这个错误。

代码语言:javascript
运行
复制
polling-xhr.js:264 GET http://sub.domain.com:3000/socket.io/?EIO=3&transport=polling&t=MFUVMS5 net::ERR_TIMED_OUT

但是在我的本地服务器上,文件工作得很好。我正在使用socket.io和PHP。

这是我的密码:

server.js

代码语言:javascript
运行
复制
var socket = require('./node_modules/socket.io');
var express = require('./node_modules/express');
var app = express();
var server = require('http').createServer(app);
var io = socket.listen(server);
var port = process.env.PORT || 3000;

// server active console view
server.listen(port, function () {
    console.log('Server listening at port %d', port);
});

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

    // show new added online user
    socket.on('now_online', function (data) {
        io.sockets.emit('now_online',{
            id: data.id,
            name: data.name
        });
    });
});

main.js

代码语言:javascript
运行
复制
var socket = io.connect('http://'+window.location.hostname+':3000');
socket.on('new_online_user', function (data) {
    if (login_id != data.online_user) {
        $('#contacts-list .contact[data-chat='+data.online_user+']'+' .contact-status').addClass('online');
    }
});

package.json

代码语言:javascript
运行
复制
{
  "private": true,
  "dependencies": {
    "gulp": "^3.9.1",
    "express": "^4.16.2",
    "socket.io": "^2.0.4"
  }
}

我在谷歌和StackOverflow上搜索这个问题,但是那些解决了的问题对我不起作用。

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2018-06-08 09:47:32

尝试只使用没有http的域进行连接,例如:

代码语言:javascript
运行
复制
var socket = io.connect(window.location.hostname+':3000', {transports: ["websocket", "xhr-polling", "htmlfile", "jsonp-polling"]});

它将自动成为ws://sub.domain.com:3000/socket.io/?EIO=3&transport=polling&t=MFUVMS5。我用的和这个相似,工作也很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50757568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档