node.js - 如何将socket.io附加到SwaggerExpress

标签 node.js swagger middleware

我正在使用 swaggerexpress 中间件和 swagger。 我无法使用 socket.io 将 socket.io 连接到我创建的服务器的正确方法是什么?

'use strict';

var SwaggerExpress = require('swagger-express-mw');
var app = require('express')();
var io = require('./api/helpers/socketio');

module.exports = app;

var config = {
    appRoot: __dirname
};

SwaggerExpress.create(config, function(err, swaggerExpress) {
    if (err) { throw err; }
    swaggerExpress.register(app);
    app.listen(10010, function () {
        console.log('Application is start listening on localhost:10010');
    });
     io.on('connection',function(socket){
     console.log("A user is connected: " + socket.id);
     io.emit('message', "Welcome")
    });

});
io.attach(app);

使用这种方法,我的服务器无法启动,在附加到应用程序的 socket.io 上出现错误。

最佳答案

如果您可以为 socket.io 使用不同的端口,您可以执行以下操作:

var io = require('socket.io')(10011);
// Or maybe in your case: 
// var io = require('./api/helpers/socketio')(10011);

io.on('connection', function(socket) {
  console.log('user connected');
});

在客户端上,您可以像这样连接到它:

var socket = io('http://localhost:10011');

socket.on('connect', function() {
  console.log('Socket connection established');
});

关于node.js - 如何将socket.io附加到SwaggerExpress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45203567/

相关文章:

python - 配置不当 : Middleware module "django.middleware.csrf" does not define a "CsrfResponseMiddleware" class

javascript - Express:为 app.use 抽象出中间件

header - asp.net core 删除 X-Powered-By 不能在中间件中完成

javascript - 尝试更新文档时出现错误 "user.save is not a function"

javascript - 值未保存在 orientdb 类中

express - 像 swagger/swashbuckle 但对于 node.js?

python - 如何在名称中带有连字符的 FastApi-SwaggerUI 中键入变量?

node.js - 具有不同库存的用户的 MongoDB 数据结构

node.js - 在node.js中,为什么我在尝试写入不存在的文件时没有收到错误

node.js - 指定永远不应在 Swagger 或 OpenAPI 中发送的属性