Мой узел сервера работает на настольном веб-сайте, но не на мобильном.Узел AWS EC2 Express - PullRequest
0 голосов
/ 15 декабря 2018

размещение кода ниже.Но немного предыстории.Мой сервер узлов размещается на сервере EC2 через AWS.Мой веб-сайт выполнен с использованием Angular Framework.

let express = require('express');
let app = express();

let http = require('http');
let server = http.Server(app);
let usercount = 0;
let socketIO = require('socket.io');
let io = socketIO(server);

const port = process.env.PORT || 3000;

io.on('connection', (socket) => {
  usercount++;
  console.log(usercount.toString());

  socket.on('join-main-chat', (message) => {
    socket.join('main room');
    io.to('main room').emit('new-message', usercount.toString());
  });

  socket.on('change-room', (message) => {
    newRoom = message.substring(message.indexOf('-') + 1, message.length);
    let user = message.substring(0, message.indexOf('-') - 1);
    socket.leaveAll();
    socket.join(newRoom);
    console.log(user + " joined the " + message + " room");
    io.to(newRoom).emit('new-message', user + " joined the " + newRoom);
  });

  socket.on('new-message', (message) => {
    console.log(message);
    let newMessage = message.substring((message.indexOf(":") + 2), message.length);
    let currentRoom = message.substring(0, message.indexOf(":"));
    io.to(currentRoom).emit('new-message', newMessage);
    io.emit('get-count', usercount.toString());
  });

  socket.on('left-message', (message) => {
    usercount--;
    console.log(usercount.toString());
    io.emit('new-message', message);
    io.emit('new-message', usercount.toString());
    io.emit('get-count', usercount.toString());
  });
});


server.listen(port, () => {
  console.log(`started on port: ${port}`);
});

Это работает без каких-либо проблем при переходе на мой веб-сайт с моего компьютера или ноутбука.Это также работает со многих других компьютеров.Но когда я пытаюсь получить к нему доступ со своего телефона, кажется, что мой телефон никогда не подключается к серверу узла.

Я не совсем уверен, почему это вообще происходит?

1 Ответ

0 голосов
/ 15 декабря 2018

Вы упомянули, что используете мобильный браузер Google Chrome. Поддержка Chrome WebSocket появилась сравнительно недавно, и показатели внедрения выглядят незначительными - вы, вероятно, используете более старую версию.Вам нужно обновить свой мобильный браузер, чтобы получить эту функцию.

...