javascript - node.js 无法获取/socket.io

标签 javascript node.js express socket.io

我有以下带有 express/socket.io 的应用程序(该应用程序正在监听并且没有任何错误)。 当我 http 请求它时,出现以下错误:

GET http://xxxxxxx.com:3035/socket.io/1/?t=1449090610579 400 (Bad Request)

在 socket.io 响应上 http://xxxxxxx.com:3035/socket.io我得到:

Cannot GET /socket.io

应用程序.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');

最佳答案

您的 sio 是一个函数。你需要用你的服务器作为参数来调用它。

添加 server=require('http').Server(app) sio=require('socket.io')(服务器)

关于javascript - node.js 无法获取/socket.io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34053181/

相关文章:

node.js - 将 "node test"作为 Visual Studio Team Services 生成任务的一部分运行,结果在 "tests"选项卡中

javascript - 我将如何在 iWeb 中创建具有实时更新的表单?

javascript - 如何在 javascript 和 jquery 中正确设置文本框值?

node.js - npm install 给出错误 : EPERM, 取消链接

node.js - NodeJS 如何从 ubuntu 运行两个服务器文件?

node.js - 将参数从 pug 传递给 JSX

javascript - Babel preset-env 未加载 Node 目标的顶级等待语法

javascript - 正则表达式 使用 OR ( | ) 时非捕获组

node.js - 如何获取 Node.js 导入的类型

javascript - 在 Express 中的 app.listen 之前等待异步函数完成