React Native не подключается к сокету Socket.io - PullRequest
0 голосов
/ 05 марта 2019

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

Вот мой код сервера:

const express = require("express");
const app = express();
const server = require("http").createServer(app);
const io = require("socket.io").listen(server);
const port = 3000;

io.on("connection", socket => {
    console.log("User has connected!");
});

server.listen(port, () => console.log("Server has started"));

И мой собственный React-код (обрезанный):

import io from "socket.io-client";

export default class InstructorView extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            visibleModal: null,
            modalTitle: "Test",
            course: {}
        }
    }

componentDidMount() {
    //Socket
    const socket = io("http://PC IP Address:3000");
    console.log("Component Did Mount"); 
}

render(){
    //code
}

В методе componentDidMount (), "Component Did"«Монтирование» выводится по желанию, однако ни журнал «Пользователь подключился», ни «Сервер запущен» не выводится на консоль, и я не уверен, почему, поскольку я следовал пошаговому руководству YouTube.Заранее спасибо!

1 Ответ

0 голосов
/ 05 марта 2019

Server.js

var app = require("express")();
var server = require("http").Server(app);
var io = require("socket.io")(server);
server.listen(5000);
io.on("connection", socket => {
  console.log("socket id" + socket.id);
});

App.js

import io from "socket.io-client/dist/socket.io.js";//<----import--
var e;
export default class App extends Component {
  constructor(props) {
    super(props);
    e = this;
    this.socket = io("http://PC IPAddress:5000", { jsonp: false });
  }
}

Попробуйте использовать этот код, он работает для меня.

...