อะไรคือหนทางที่ดีที่สุดที่จะใช้จากซ็อกเกต.บ io กับ expressjs แอ๊ป?

0

คำถาม

ฉันต้องการจะเขียนจริงๆเวลาคุยกับโปรแกรมจากซ็อกเกต.บ io และเพราะฉันเซิร์ฟเวอร์และแอ๊ปแฟ้มเป็นการอยู่อย่างโดดเดี่ยว,ฉันไม่มีเบาะแสว่ายังไงฉันควรจะองโครงสร้างมันจะใช้จากซ็อกเกต.บ 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ý
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่