我正在创建一个React Native应用,并且试图将我的客户端应用连接到我的服务器。我正在使用socket-io,到目前为止,我无法成功连接两者。这是我在客户端上的代码:
import SocketIOClient from 'socket.io-client';
(...)
if (result.type === "success") {
console.log("Here 1");
this.socket = SocketIOClient('http://localhost:1997');
this.socket.emit('test', 'Hello world!');
console.log("Here 2");
}
此代码输出“此处1”“此处2”
我的服务器代码如下:
let express = require('express');
let http = require('http')
let socketio = require('socket.io');
var app = express();
var server = http.Server(app);
var websocket = socketio(server);
let port = 1997;
server.listen(port, () => console.log('listening on *:' + port));
websocket.on('connection', (socket) => {
console.log("Client joined on " + socket.id);
websocket.on('test', function(data){
console.log('Data Receieved: ' + data);
});
});
此代码输出“在*:1997上监听”,然后即使在运行客户端代码时也没有输出。请帮助我不确定我在做什么错。
答案 0 :(得分:1)
我遇到了同样的问题,将“ localhost”更改为实际的IP,对我来说就像一个魅力。
所以改变
this.socket = SocketIOClient('http://localhost:1997');
收件人
this.socket = SocketIOClient('http://1962.168.xxx.xxx:1997');
我从这里得到了答案: Using Socket.io with React Native and not working