Closed mo22 closed 10 months ago
close all sockets on reload
--- a/node_modules/react-native-tcp-socket/android/src/main/java/com/asterinet/react/tcpsocket/TcpSocketModule.java +++ b/node_modules/react-native-tcp-socket/android/src/main/java/com/asterinet/react/tcpsocket/TcpSocketModule.java @@ -18,6 +18,7 @@ import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableMap; import java.io.IOException; +import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; @@ -47,6 +48,24 @@ public class TcpSocketModule extends ReactContextBaseJavaModule { tcpEvtListener = new TcpEventListener(mReactContext); } + @Override + public void onCatalystInstanceDestroy() { + super.onCatalystInstanceDestroy(); + executorService.execute(new Runnable() { + @Override + public void run() { + for (Map.Entry<Integer, TcpSocket> entry : socketMap.entrySet()) { + if (entry.getValue() instanceof TcpSocketServer) { + ((TcpSocketServer)entry.getValue()).close(); + } else if (entry.getValue() instanceof TcpSocketClient) { + ((TcpSocketClient)entry.getValue()).destroy(); + } + } + socketMap.clear(); + } + }); + } + @Override public @NonNull String getName() {
Hi @mo22,
Could you please create a PR instead of an issue with this feature?
close all sockets on reload