【发布时间】:2015-12-02 21:18:19
【问题描述】:
我有以下带有 express/socket.io 的应用程序(该应用程序正在侦听并且没有任何错误)。 当我 http 请求它时,我收到以下错误:
GET http://xxxxxxx.com:3035/socket.io/1/?t=1449090610579 400 (Bad Request)
在http://xxxxxxx.com:3035/socket.io 的 socket.io 回复中,我得到:
Cannot GET /socket.io
app.js:
var express = require('express'),
http = require('http'),
sio= require('socket.io'),
fs=require('fs'),
app = express();
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'localhost',
user: 'xxxxxxx',
password: 'xxxxxxx',
database: 'xxxxxxxxx'
}
);
connection.connect();
// Start the server
var server=app.listen(3035, function () {
console.log("Express server listening on port %d",3035);
});
app.io=io=sio.listen(server);
.
.
.
在客户端:
var socket = io.connect('http://xxxxxx.com:3035');
【问题讨论】:
-
看起来它无法获取静态脚本文件,因为您缺少基本的静态路由。
-
这在我迁移到新服务器之前运行良好。不确定到底缺少什么!
-
那么它可能不是静态路由的东西,如果我没记错的话,Socket.io会创建它自己的路由。迁移时发生了一些变化,并且 URL 不再正确,您可能需要自己进行一些故障搜索。
-
是的,我想弄清楚。谢谢你的提示。
-
var express = require('express')(); var http = require('http').Server(express); var sio = require('socket.io')(http);
标签: javascript node.js express socket.io