Периодические ошибки соединения с Socket.io на Expressjs - PullRequest
0 голосов
/ 12 мая 2019

Я использую socket.io с экспресс-сервером и приложением реакции. Код работает правильно, и данные отправляются / принимаются, как и ожидалось, но я продолжаю замечать ошибки подключения в консоли:

  1. Соединение WebSocket с 'ws: //192.168.1.102: 3000 / sockjs-node / 351 / m2x50td4 / websocket' не удалось: WebSocket закрывается до установления соединения.

  2. Сбой подключения WebSocket к 'ws: /socket.io/? EIO = 3 & transport = websocket': WebSocket закрывается до установления соединения.

  3. websocket.js: 118 Соединение WebSocket с 'ws: //192.168.1.102: 3000 / socket.io /? EIO = 3 & transport = websocket & sid = fNkATGvOmjkq9po1AAA' не удалось: соединение закрылось до получения ответа на рукопожатие

Ошибка

Экспресс-сервер

const express = require('express');
const port = 5000;

const app = require('express')();
const server = require('http').createServer(app);
const io = require('socket.io')(server, {'transports': ['websocket', 'polling']});


// WebSocket handlers
io.on('connection', (client) => {

  console.log('Websocket: New connection from'+ client.request.connection.remoteAddress);

  client.on('setSwitchState', function (data, fn) {
    switchController.setSwitch(data);
    fn(data['jstate']);
  });

  client.on('disconnect', () => {
  console.log('user disconnected');
  })

});

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

React App

import React, { Component } from "react";

import io from 'socket.io-client';
const socket = io();
 
class ToggleSwitch extends Component {

	socket.emit('setSwitchState', sendata, (data) => {
		this.setState({checked: data});
	});
  } 
}

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