Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么Socket.io在我的React本机应用程序中未连接_Javascript_React Native_Socket.io - Fatal编程技术网

Javascript 为什么Socket.io在我的React本机应用程序中未连接

Javascript 为什么Socket.io在我的React本机应用程序中未连接,javascript,react-native,socket.io,Javascript,React Native,Socket.io,我正在创建一个react本机应用程序,并尝试将我的客户端应用程序连接到服务器。我正在使用socket io,到目前为止,我无法将两者连接起来。以下是我在客户机上的代码: import SocketIOClient from 'socket.io-client'; (...) if (result.type === "success") { console.log("Here 1"); this.socket = SocketIOClient('http://localhos

我正在创建一个react本机应用程序,并尝试将我的客户端应用程序连接到服务器。我正在使用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");
}
该代码输出“here1”“here2”

我的服务器代码如下:

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”,然后即使在客户端代码运行时也不输出其他内容。请帮助我,我不确定我做错了什么。

我也有同样的问题,将“localhost”更改为实际的ip,对我来说非常有吸引力

所以改变

this.socket = SocketIOClient('http://localhost:1997');

我从这里得到了答案:

需要更多的细节。客户端是从哪个服务器提供服务的?它们在两个不同的服务器上吗?服务器端有控制台输出吗?所有本地服务器都在一台服务器上好的。如何提供React本机应用程序?这部分代码中没有显示–我希望会有一个
app.get('/',function(req,res){res.sendFile(uu dirname+'/index.html');})某处(或类似的东西)。
this.socket = SocketIOClient('http://1962.168.xxx.xxx:1997');