Socket.io: сбой GET-запросов в консоли - PullRequest
0 голосов
/ 02 сентября 2018

Я пытаюсь добавить socket.io в свой код, и следующий неудачный запрос GET неоднократно выводится на консоль всякий раз, когда я запускаю веб-сайт на своем локальном хосте.

GET http://localhost:4000/socket.io/?EIO=3&transport=polling&t=MMNC8I9 0 ()

Я не понимаю, что отправляет этот запрос. Сокет работает, хотя и не совсем так, как я предполагал *.

* Я пытаюсь создать приложение в реальном времени, которое работает с несколькими клиентами, и в данный момент обновляется только один клиент в любой момент времени. Поскольку я все еще учусь, я не уверен, нормальное ли это поведение или нет, но я хочу исправить ошибку неудачного запроса, прежде чем погрузиться в это!

Как мне исправить проблему? Заранее спасибо!

Код ниже:

server.js

const client=require("socket.io").listen(4040).sockets;
const app = express();

mongoose.connect('mongodb://localhost/<dbname>?replicaSet=rs'); 
mongoose.connect(config.db); 
const db = mongoose.connection;
db.once("open", () => {
    console.log(">>> ?️  MongoDB: Connection successful");
app.listen(9000, () => {
    console.log('Node server running on port 9000');
  });

// Connect to Socket.io
client.on("connection", function(){
let queries = db.collection('queries');

// Create function to send status
sendStatus = function(s) {
  socket.emit("status", s);
 }
  });
  });

app.post('/query', (req, res, next) => {
   <some code omitted> 
   doc.save()
     .then(result => {
     socket.emit("query", res);
     res.send({
     result
     });
   }
});

Queries.js

constructor(props) {
...
var socket = io.connect("http://localhost:4000/");

if (socket!= undefined) {  
  socket.on("query", function() {
    this.loadQueries();
  });
}

index.html

  <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.4/socket.io.js"></script>
...