我试图在实时服务器上使用socket,我得到了这个错误。
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
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
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
{
"private": true,
"dependencies": {
"gulp": "^3.9.1",
"express": "^4.16.2",
"socket.io": "^2.0.4"
}
}我在谷歌和StackOverflow上搜索这个问题,但是那些解决了的问题对我不起作用。
非常感谢。
发布于 2018-06-08 09:47:32
尝试只使用没有http的域进行连接,例如:
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。我用的和这个相似,工作也很好。
https://stackoverflow.com/questions/50757568
复制相似问题