क्या सबसे अच्छा तरीका है का उपयोग करने के लिए सॉकेट.io के साथ expressjs एप्लिकेशन?

0

सवाल

मैं लिखने के लिए चाहते हैं एक वास्तविक समय चैट आवेदन के साथ सॉकेट.कब और क्योंकि अपने सर्वर और एप्लिकेशन फाइल अलग कर रहे हैं, मैं एक तरह के कोई सुराग नहीं है कि मैं कैसे करना चाहिए यह संरचना का उपयोग करने के लिए सॉकेट.कब उदाहरण के अन्य भागों में मेरे app. यह मेरी 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}`);
  });

क्या सबसे अच्छा तरीका है के लिए एक उदाहरण बनाने के सॉकेट.कब और इसे शुरू करने के कनेक्शन के लिए उपयोग के अन्य भागों में app?

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

सबसे अच्छा जवाब

1

आप उपयोग कर सकते हैं http के साथ एक्सप्रेस app और फिर से कनेक्ट कुर्सियां के माध्यम से है कि 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

इस दृष्टिकोण के साथ कर सकते हैं कि कैसे मैं का उपयोग कब उदाहरण में अन्य फ़ाइलों के प्रबंधन के लिए चैट?
Farid Ghaderi

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में