Я создаю объект Socket IO в нативном модуле и вызываю его из реагировать на нативный. Как только объект Socket создан в собственном модуле, я хочу использовать его в своем собственном приложении реакции.
Причина, по которой я создаю сокет внутри собственного модуля, заключается в создании фоновой службы, которая будет поддерживать мой сокет до тех пор, пока приложение не будет уничтожено.
Я уже пробовал записываемую карту, но безуспешно. Но если я возвращаю простую строку, она работает нормально.
Код Android:
@ReactMethod
public void getSocket(String SocketURL, String CountryCode, String IP, String ConfigURL, String CSID, String CountryName, Promise promise) {
try {
IO.Options opts = new IO.Options();
opts.reconnection = true;
opts.secure = true;
opts.transports = new String[]{"websocket", "polling"};
opts.query = "location=" + CountryCode + "&ip=" + IP + "¤tPage=" + ConfigURL + "&csid=" + CSID + "&fullCountryName=" + CountryName;
opts.reconnectionDelay = 1000;
System.out.print(opts);
mSocket = IO.socket(SocketURL, opts);
System.out.print("Socket inside native call" + mSocket);
promise.resolve(mSocket);
} catch (Exception e) {
System.out.print(e);
promise.reject(e.toString());
}
}
Реагирует родная часть:
try {
SOCKET = await NativeModules.Device.getSocket(SOCKET_LIVE_SERVER + SOCKET_CONFIG.nsp, SOCKET_CONFIG.countryCode, SOCKET_CONFIG.ip, SOCKET_CONFIG.url, SOCKET_CONFIG.csid, SOCKET_CONFIG.countryName)
console.log('native socket', SOCKET)
}
catch (e) {
console.error(e)
}
Я просто хочу создать Socket в собственном модуле, а затем вернуть объект сокета, чтобы я мог использовать его в своем собственном родном приложении