React собственное приложение не может подключиться к серверу websocket, работающему на localhost - PullRequest
0 голосов
/ 22 октября 2018

Учитывая приведенный ниже код, сокет, инициализированный с wss://echo.websocket.org/, вызывает onopen.Тот, который указывает на мой локально работающий сервер, не работает.

constructor(props) {
    super(props

    // this doesn't work (doesn't call onopen)
    this.socket = new WebSocket("ws://localhost:3000/websocket");

    // this works (calls onopen)
    this.socket = new WebSocket("wss://echo.websocket.org/");
}

componentDidMount() {
    console.warn('Mounting..')

    this.socket.onopen = () => {
        console.warn('onopen');
        this.socket.send('Ping')
        this.setState({ connected: true }, this.subscribe)
    };

    this.socket.onerror = (error) => console.log('Error: %o', error);
    this.socket.onmessage = (message) => console.warn('Server: ' + message.data);
}

Я могу подключиться к обеим службам и подключиться к ним с помощью wscat

project master % wscat -c wss://echo.websocket.org/
> connected (press CTRL+C to quit)

project master % wscat -c ws://localhost:3000/websocket/
> connected (press CTRL+C to quit)

Чего мне здесь не хватает?

(и, очевидно, я не называю this.socket = new WebSocket() 2x в моем коде, это просто для сравнения.)

1 Ответ

0 голосов
/ 22 октября 2018

Была поздняя ночь, и я дурачок.localhost нужен адрес вашего сервера, работающего в вашей сети.

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