在visual studio node.js项目中使用socket.io

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在visual studio node.js项目中使用socket.io相关的知识,希望对你有一定的参考价值。

我在Visual Studio中有一个使用express的节点js项目。我想将socket.io添加到我的项目中,如下所示:

var io = require('socket.io')(server);

但是,app.js文件没有服务器变量。似乎应用程序在app.js中返回

module.exports = app;

然后在该文件之外调用app.listen,其中将创建服务器。有谁知道如何在visual studio node js项目中使用socket.io?

答案

我想到了。我将socket io代码放在它自己的模块中,如下所示:

//    ./myService.js
var socketIo = require('socket.io');

module.exports = {
    startService: function (server) {
        var io = socketIo(server);

        io.on('connection', function (socket) {
            socket.on('receive message', function (question) {
                io.emit('send message', question);
            });
        });
        return io;
    }
};

visual studio项目有一个文件“./bin/www”,其中创建了服务器变量。然后我将服务器变量传递给模块,如下所示:

var io = require('../myService');
io.startService(server);
另一答案

或者您可以直接将连接放在“./bin/www”文件中,如下所示

var io = require('socket.io').listen(server);

io.sockets.on('connection', function (socket) {
console.log('client connect');
socket.on('echo', function (data) {
    io.sockets.emit('message', data);
    });
});

以上是关于在visual studio node.js项目中使用socket.io的主要内容,如果未能解决你的问题,请参考以下文章

使用 Visual Studio 2012 express 进行 TypeScript、node.js 开发

visual studio2017 创建Vue项目

visual studio 2019 中初始化 vue.js 项目

Visual Studio Code Node.js 在运行 npm start 命令时在 Mac 中给出权限被拒绝错误

使用 Coffee Script 的 Visual Studio Code 和 Node.js

Visual Studio 2017部署 webStrom开发的nodejs项目