我想在我的一条路线上实现套接字。我有一个名为
的文件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.
答案 0 :(得分:1)
您需要在polling_server.js的顶部定义io,如下所示:
var socket = io();
然后像这样使用socket:
socket.on("connection",function(socket){