ReferenceError:未定义套接字。套接字.io

Posted

技术标签:

【中文标题】ReferenceError:未定义套接字。套接字.io【英文标题】:ReferenceError: socket is not defined. socket.io 【发布时间】:2019-02-20 02:22:45 【问题描述】:

socket.io 中出现此错误

//SERVER.JS

var express    = require('express');
var app        = express();
var bodyParser = require('body-parser');
var port       = process.env.PORT || 8080;
var http       = require('http').Server(app);
var io         = require('socket.io')(http);
require('./app/routes.js')(app, io);

//ROUTES.JS

socket.emit('dlReady',  description: 'Your file is ready!');

我收到此错误:

ReferenceError: socket is not defined

编辑:

app.post('/pst', function(req, res) 
        var url = req.body.convo;

        res.render('processing.ejs');

               funker(url).then(result => 
                    console.log('TAKE A LOOK AT THIS!'); 

                    socket.emit('dlReady',  description: 'Your file is ready!');


                    //transforming array to string to pass to Buffer.from()
                    //then we remove ',' with newlines, so each index of array is a new line
                    var str = result.toString();
                    result = str.split(',').join('\r\n');
                    str = ''; //garbage collection
                    resultGlobal = result;
                    result = ''; //garbage collection




                ).catch(err => 
                    console.log(err);
                    res.render('error.ejs');
                )
    );

【问题讨论】:

请查看socket的使用方法:***.com/questions/11498508/socket-emit-vs-socket-send 向我们展示 routes.js 中的其余相关代码。 【参考方案1】:

如何使用套接字:

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

io.sockets.on('connection', function (socket) 
  socket.emit('news',  hello: 'world' );
  socket.on('my other event', function (data) 
    console.log(data);
  );
);

【讨论】:

我在什么文件中写入 var io = require 行? 当我想发出一个事件时会发生什么,而不是在用户连接的那一刻? 试试这个 io.sockets.emit('hello'); 但这就是我在问题中包含的代码中所做的!我的代码有什么错误?要求行?我在哪里写?

以上是关于ReferenceError:未定义套接字。套接字.io的主要内容,如果未能解决你的问题,请参考以下文章

使用快速会话的套接字 IO - socket.request.res 未定义

pthread 向 libevent 添加一个套接字但退出

ReferenceError:未定义提取

未定义函数 - 未捕获的 ReferenceError

打字稿 - 未捕获的 ReferenceError:未定义导出

ReferenceError: $ 未定义