即使服务器没有运行,我也总是得到net::ERR_CONNECTION_REFUSED
。
通过我的浏览器运行该应用程序时,它可以正常运行,但是,然后通过该设备并以本机方式运行时,出现上述错误。
我觉得我已经尽一切努力解决了这个问题。我读过这么多关于同一问题的堆栈溢出问题。他们都没有帮助。
app.module:
import { SocketIoModule, SocketIoConfig } from 'ngx-socket-io';
const config: SocketIoConfig = { url: 'http:localhost:8080', options: {}};
注意:上面我也尝试过:
'127.0.0.1:8080'
'127.0.0.1:8080 /'
socketio服务器:
const app = require('express')();
const PORT = process.env.CHAT_PORT || 3000;
const ENV = process.env.NODE_ENV || 'development';
const server = require('http').createServer(app , {origins: 'http://127.0.0.1:8100'});
const io = module.exports.io = require('socket.io')(server);
const SocketManager = require('./lib/SocketManager');
注意:由于Ionic 4应用程序在端口8100上运行,因此我尝试了origins:
中所有与上述相同的变化,但是更改了端口。我还尝试了不包含origins:
>
我的SocketService:
import { Socket } from 'ngx-socket-io';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class ChatService {
constructor(private socket: Socket) {}
public sendMessage(msg: any){
this.socket.emit('new-message', msg);
}
public getMessages = () => {
return Observable.create(observer => {
this.socket.on('new-message', messageObj => {
observer.next(messageObj);
})
})
}
}
我希望它能执行的操作是连接,并让我的服务器注册已建立连接。
感谢您的帮助
更新:我已经将config.xml配置为:
<content original-src="index.html" src="http://192.168.1.38:8100" />
<access origin="*" />
<allow-navigation href="*" />
没有这种运气。仍然被阻止
答案 0 :(得分:1)
尝试并搜索后,一旦我将笔记本电脑砸碎以解决此错误,我将得到以下答案
首先
要在设备上运行它,必须将IP Adress
像192.168.1.2
放在应用程序中,打开CMD
并输入ipconfig
即可获得。 Windows,因此在您的应用中必须是
const config: SocketIoConfig = { url: 'http://IP_ADDRESS:8080', options: {}};
第二
实际上这是我的问题,请转到防火墙并仅将其禁用以进行测试,如果要生成您的应用,则只需启用运行该应用的端口即可
请注意,您必须关闭它才能接受指定端口上的连接
最后
确保您的本地服务器接受客户端的请求,您可以使用Cors
外部软件包。
要安装它:
npm install cors --save
要使用它:
const cors = require('cors');
app.use(cors({
origin: '*', //Or some origins you can specify
optionsSuccessStatus: 200
}));
答案 1 :(得分:0)
所以,我解决了这个问题。这个问题很愚蠢,我为解决这样的问题感到ham愧。但是问题是,当我尝试将电话连接到服务器时,我使用的是本地主机127.0.0.1:8080
的IP地址,在客户端,此地址向内看!我需要做的是转到Apple->系统偏好设置->网络,然后使用以下IP地址:
Wi-Fi已连接到MOVISTAR_PLUS_52B1 并具有IP地址192.168.X.XX。
将其放入我的配置中,如下所示:
const config: SocketIoConfig = { url: 192.168.X.XX, options: {}};