는 가장 좋은 방법은 무엇입하는 소켓을 사용.io 와 expressjs 응용 프로그램?

0

질문

쓰고 싶어하는 실시간 채팅 응용 프로그램 소켓에.io 및기 때문에 서버 및 응용 프로그램 파일이 있는 별도의 저는 종류의 단서가 없는 어떻게 해야 하는 구조물을 사용하여 socket.io 인스턴스의 다른 부분에 표시합니다. 이것은 나 app.js 파일입니다.

const express = require("express");
const pug = require("pug");
const app = express();

module.exports = app;

이것은 나 server.js 파일

const app = require("./app");
const mongoose = require("mongoose");
mongoose
  .connect(`mongodb://localhost:27017/${process.env.DATABASE}`)
  .then(() => {
    app.listen(process.env.PORT);
  })
  .catch((err) => {
    console.error(`connection failed: ${err}`);
  });

는 가장 좋은 방법은 무엇입 인스턴스를 만들의 소켓에.io 시작 그 연결을 사용하기 위해 다른 부분에서의 응용 프로그램?

express node.js socket.io
2021-11-24 06:06:36
1

최고의 응답

1

할 수 있는 http 를 사용하는 간편을 연결하는 소켓을 통해하는 http 연결에 당신을 들을 수 있고를 방출한 주제 안에 io.on('connection')

const app = require("./app");
const mongoose = require("mongoose");
const http = require('http').Server(app);
const io = require('socket.io')(http);
mongoose
  .connect(`mongodb://localhost:27017/${process.env.DATABASE}`)
  .then(() => {
    app.listen(process.env.PORT);
    io.on('connection', socket => {
      console.log('socket connected',socket);
    });
  })
  .catch((err) => {
    console.error(`connection failed: ${err}`);
  });

나이아보세요 이 두 번째 방법:

App.js

const express = require("express");
const pug = require("pug");
const app = express();
module.exports = app;

Server.js

const app = require("./app");
const realtime = require("./realtime");
const mongoose = require("mongoose");
const server = require("http").Server(app);

mongoose
  .connect(`mongodb://localhost:27017/${process.env.DATABASE}`)
  .then(() => {
    app.listen(process.env.PORT);
    require("./realtime.js")(server);

  })
  .catch((err) => {
    console.error(`connection failed: ${err}`);
  });

Realtime.js

module.exports = (app) => {
    const io = require("socket.io")(app);
    io.on("connection", (socket) => {
      console.log("Socket connected")
    })
};
2021-11-24 06:33:04

이 방법을 어떻게 사용할 수 있습니 io 인스턴스에서 다른 파일을 관리하기 위한 채팅?
Farid Ghaderi

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................