【问题标题】:using socket.io in express routes在快速路线中使用 socket.io
【发布时间】:2017-09-04 13:06:28
【问题描述】:

我想在我的一条路线上实现套接字。我有一个名为

的文件

index.js

var express=require("express");
var app=express();
var http=require("http").Server(app);
var io=require("socket.io")(http);

// one of my route 'polling'

var polling=require('./polling_server.js');
app.use('/',polling);

// lots of code here

http.listen(3000);

现在我有另一个名为 polling_server.js 的文件,我想在其中实现套接字。

module.exports=(function(){
var router = require('express').Router();
router.get("/polling",function()
{
 console.log("Hello from polling");
});

 // I want to access io object in this file

io.on("connection",function(socket){

 });
}) ();

在上面的路由 polling_server.js 我想访问 io 对象。当我运行此代码时,它会显示给我

io is not defined.

【问题讨论】:

    标签: node.js express socket.io routes


    【解决方案1】:

    你需要在polling_server.js的顶部定义io,像这样:

    var socket = io();
    

    然后像这样使用套接字:

    socket.on("connection",function(socket){
    

    【讨论】:

    • 抱歉,您建议的代码在客户端有效。但我问的是服务器端。请问你能详细说明你的答案吗?我会接受你的回答。
    猜你喜欢
    • 2013-08-09
    • 2013-09-22
    • 2019-10-17
    • 2018-10-06
    • 1970-01-01
    • 2019-05-23
    • 2016-03-02
    • 2020-01-30
    • 1970-01-01
    相关资源
    最近更新 更多