Я на самом деле работаю над приложением Electron JS и приложением Ioni c.
Приложение Electron имеет сервер Socket (с использованием Sock JS), а приложение Ioni c - клиент Socket.
Моя проблема заключается в том, что я запускаю два приложения на одном устройстве , он работает нормально, но когда приложение Electron запускается на моем компьютере и приложение Ioni c на моем устройстве android, оно не работает.
Я пробовал использовать свой локальный IP-адрес, localhost, 0.0 .0.0, 127.0.0.1. Но никто не работает.
Электрон:
const {ipcMain} = require('electron')
let app = require('express')();
const http = require('http').Server(app);
let io = require('socket.io')(http);
io.sockets.on('connection', function (socket) {
console.log('socket connected');
socket.on('disconnect', function () {
console.log('socket disconnected');
});
socket.emit('text', 'wow. such event. very real time.');
});
var port = process.env.PORT || 9999;
http.listen(port, function(){
console.log('listening in http://localhost:' + port);
});
Иони c:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Socket, SocketIoConfig } from 'ngx-socket-io';
@Injectable({
providedIn: 'root'
})
export class CoreService {
config: SocketIoConfig
private socket: Socket
constructor(private http:HttpClient) {
this.config = { url: 'http://localhost:9999', options: { secure: true } };
}
connectSocket() {
this.socket = new Socket(this.config)
this.socket.connect()
this.socket.on('text',(value) => {
console.log(value)
})
}
}
Если кто может мне помочь.
РЕДАКТИРОВАТЬ 1
Много чего пробую. Я отключил свой брандмауэр для тестирования и попробовал этот IP (Localhost, 0.0.0.0, local IP, 127.0.0.1), но никто не работает.
Связь работает, когда я нахожусь на одном компьютере (Ioni c в эмуляторе или веб-браузере). Но когда я тестирую свое устройство android, оно не работает. (Я в той же сети)
У меня нет ошибки на ioni c:
D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
W/InputMethodManager: startInputReason = 1
I/HwSecImmHelper: mSecurityInputMethodService is null
I/HwSecImmHelper: mSecurityInputMethodService is null
I/HwSecImmHelper: mSecurityInputMethodService is null
I/HwSecImmHelper: mSecurityInputMethodService is null
I/HwSecImmHelper: mSecurityInputMethodService is null
I/HwSecImmHelper: mSecurityInputMethodService is null
И теперь я использую Socket.io вместо Sock JS, но все равно не работает ..