как отличить socket.io для мобильных и веб - PullRequest
0 голосов
/ 21 апреля 2019

конечно, я работаю на сервере узлов, используя expressjs и socket.io.

У меня проблемы с разграничением сокетного соединения между интернет-соединением и мобильным приложением. кто-нибудь может мне помочь ??

это моя настоящая работа.

server.js

var socket  = require('socket.io');
var express = require('express');
var crypto  = require('crypto');
var format  = require('biguint-format');
var app     = express();
var server  = require('http').createServer(app);
var io      = socket.listen( server );
var port    = process.env.PORT || 3000;
var admin   = require("firebase-admin");
var serviceAccount = require("./serviceAccountKey.json");
var api_web = require('./server/web');
var api_hp  = require('./server/mobile');

admin.initializeApp({
   credential: admin.credential.cert(serviceAccount),
   databaseURL: "https://fundingbot-5527c.firebaseio.com"
});
var db      = admin.database();

// Make io accessible to our router
app.use(function(req,res,next){
 req.io = io;
 req.db = db;
 next();
});

app.use('/', api_web);
app.use('/api', api_hp);

server.listen(port, function () {
  console.log('Server listening at port %d', port);
  server.on('error', function (e) {
     console.log("Got error server :  " + e.message);
  });
});

module.exports = app;

это веб-маршрут. Js

 var express = require('express');
 var router  = express.Router();

 /* GET web connected to socket. */
 router.get('/', function(req, res, next) {
    req.io.sockets.on('connection', function (data) {
    console.log('web is connected');
    userdata = {
       senderId    : data.uid,
       sednerName  : data.name,
       connected   : socket.id
    };
       req.io.socket.emit('connection', userdata);
    });
 }); 
 module.exports = router;

и это мобильный маршрут. Js

 var express = require('express');
 var router  = express.Router();

 /* GET mobile connected to socket. */
 router.get('/', function(req, res, next) {
    req.io.sockets.on('connection', function () {
    console.log('mobile is connected');
    let userdata = {
            senderId    : data.uid,
            sednerName  : data.name,
            connected   : socket.id
        };
    });
    req.io.socket.emit('connection', userdata);
 });
 module.exports = router;

Я буду очень признателен, если кто-нибудь сможет мне помочь. С наилучшими пожеланиями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...