You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For the first 3/4 times it works fine, but from fourth or sometimes fifth times, the app crash just before logging "Connected!" in console.
The error printed in adb logcat says:
10-20 12:14:42.796 4153 4633 E AndroidRuntime: java.lang.IllegalArgumentException: No socket with id 5
10-20 12:14:42.796 4153 4633 E AndroidRuntime: at com.asterinet.react.tcpsocket.TcpSocketModule.getTcpClient(TcpSocketModule.java:281)
10-20 12:14:42.796 4153 4633 E AndroidRuntime: at com.asterinet.react.tcpsocket.TcpSocketModule.access$800(TcpSocketModule.java:28)
10-20 12:14:42.796 4153 4633 E AndroidRuntime: at com.asterinet.react.tcpsocket.TcpSocketModule$2.run(TcpSocketModule.java:125)
10-20 12:14:42.796 4153 4633 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
10-20 12:14:42.796 4153 4633 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
10-20 12:14:42.796 4153 4633 E AndroidRuntime: at java.lang.Thread.run(Thread.java:1012)
Sometimes it happens during trying to creaeteConnection the fourth times, other on the fifth.
Betweene a creation/destruction of the socket, some action happens on it, basically writing messages, pause and resuming it.
I thought the bug might be caused by trying writing on socket that is destroyed, so i added a check just before writing on socket, and this is the method used to write, but nothing changed, the bug still happens.
export const sendTcpData = (messageJson) => {
if(global.tcpClient!==null && global.tcpClient!==undefined) {
if(global.socketInPause) {
console.log("socket in pause!");
global.tcpClient.resume();
global.socketInPause = false;
console.log("resumed socket before sending tcp data");
}
// Write on the socket
if(global.tcpClient._readyState==="open") {
if(global.socketTcpIDInUse!==null && global.tcpClient._id==global.socketTcpIDInUse) {
console.log("socket open ID "+global.tcpClient._id+" - trying writing")
global.tcpClient.write(JSON.stringify(messageJson)+'\n');
} else {
console.log("SEND TCP DATA ERROR - TRYING USING global.tcpClient._id "+global.tcpClient._id+" BUT global.socketTcpIDInUse is "+global.socketTcpIDInUse)
}
} else {
console.log("SEND TCP DATA ERROR - SOCKET IS CLOSED")
}
} else {
console.log("SEND TCP DATA ERROR - SOCKET NOT ALIVE!");
}
}
Anyone can please help me to prevent the crash?
Relevant information
OS
Android&iOS
react-native
0.70.8
react-native-tcp-socket
6.0.6
The text was updated successfully, but these errors were encountered:
Description
I got crash when calling TcpSocket.createConnection, both on Android and iOS, after I create and destroy a tcp socket about 4/5 times.
I destroy the socket with two commands:
Then when I try to recreate socket calling
For the first 3/4 times it works fine, but from fourth or sometimes fifth times, the app crash just before logging "Connected!" in console.
The error printed in adb logcat says:
Sometimes it happens during trying to creaeteConnection the fourth times, other on the fifth.
Betweene a creation/destruction of the socket, some action happens on it, basically writing messages, pause and resuming it.
I thought the bug might be caused by trying writing on socket that is destroyed, so i added a check just before writing on socket, and this is the method used to write, but nothing changed, the bug still happens.
Anyone can please help me to prevent the crash?
Relevant information
The text was updated successfully, but these errors were encountered: