socket.io не умеет подключать реактивную и nodejs - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь установить sh соединение веб-сокета между nodejs и response-native. Но, к сожалению, это не работает.

Проблема в том, что клиентская сторона не соединяется с сервером через сокеты.

Вот код nodejs (на стороне сервера)

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

var server = app.listen(3000, () => console.log('server connected'))
const io = require("socket.io")(server)

io.on("connect", (socket) => {
  console.log("user connected");
  socket.on("chat message", mssg => {
    console.log(mssg);
    io.emit("chat message", mssg)
  })
})


app.get('/', (req, res) => {
  res.send("Hey! u are connected to server");
})

Вот код реакции на себя (на стороне клиента)

import React from 'react'
import { Button } from 'react-native'
import io from 'socket.io-client'

export default class extends React.Component {
  constructor(props) {
    super(props);
  }
  componentDidMount() {
    this.socket = io("http://localhost:3000");
    this.socket.on('connect', () => console.log("connected"))
    this.socket.on("chat message", mssg => {
      console.log("mssg recieved in client:", mssg)
    })
  }
  render() {
    return <Button title="click to send message" onPress={() => {
      this.socket.emit("chat message", "anshika this side")
    }
    } />
  }
}

Используемые библиотеки : собственная версия реакции: 0.62.1, версия socket.io-client: 2.3.0 (на стороне клиента), версия socket.io: 2.3.0 (на стороне сервера)

1 Ответ

0 голосов
/ 11 апреля 2020

Я решил проблему, добавив IP-адрес моего ноутбука вместо localhost в качестве ссылки в реактивном коде

...