Android – TCP – Detection of socket closed

The TCP protocol automatically should detect when the server close the socket (or crash). In my case when the server (written in Python) crash, the Android client didn’t detect it, I do not know why. Off course the server should not crash but to improve the detection we can configure the « Keep Alive » of TCP.

Unix allow to configure 3 parameters :

  • Check connection every n seconds
  • How much time waiting the response from the server before considering the connexion is lost
  • How many time trying before considering the connexion is really crashed and close the socket.

Theses parameters are not exposed on Android but we can use the reflexion to get them. I have test this code on Android 4.4.

private final static int SOL_TCP = 6;
  private final static int TCP_KEEPIDLE = 4;
  private final static int TCP_KEEPINTVL = 5;
  private final static int TCP_KEEPCNT = 6;
  protected void setKeepaliveSocketOptions(Socket socket, int idleTimeout, int interval, int count) {
    try {
      socket.setKeepAlive(true);
      try {
        Field socketImplField = Class.forName("java.net.Socket").getDeclaredField("impl");
        if(socketImplField != null) {
          socketImplField.setAccessible(true);
          Object plainSocketImpl = socketImplField.get(socket);
          Field fileDescriptorField = Class.forName("java.net.SocketImpl").getDeclaredField("fd");
          if(fileDescriptorField != null) {
            fileDescriptorField.setAccessible(true);
            FileDescriptor fileDescriptor = (FileDescriptor)fileDescriptorField.get(plainSocketImpl);
            Class libCoreClass = Class.forName("libcore.io.Libcore");
            Field osField = libCoreClass.getDeclaredField("os");
            osField.setAccessible(true);
            Object libcoreOs = osField.get(libCoreClass);
            Method setSocketOptsMethod = Class.forName("libcore.io.ForwardingOs").getDeclaredMethod("setsockoptInt", FileDescriptor.class, int.class, int.class, int.class);
            if(setSocketOptsMethod != null) {
              setSocketOptsMethod.invoke(libcoreOs, fileDescriptor, SOL_TCP, TCP_KEEPIDLE, idleTimeout);
              setSocketOptsMethod.invoke(libcoreOs, fileDescriptor, SOL_TCP, TCP_KEEPINTVL, interval);
              setSocketOptsMethod.invoke(libcoreOs, fileDescriptor, SOL_TCP, TCP_KEEPCNT, count);
            }
          }
        }
      }
      catch (Exception reflectionException) {}
    } catch (SocketException e) {}
  }
socket = new Socket(serverAddr, SERVER_PORT);
//Test every minute, wait the response during 30 sec, try 4 times
setKeepaliveSocketOptions(socket, 60, 30, 4);

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. C’est valable pour Canicompet mais aussi pour les […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour depuis la dernière lettre d’information. Vous trouverez ci-dessous […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour depuis la dernière lettre d’information. Vous trouverez ci-dessous […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. C’est valable pour Canicompet mais aussi pour les […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour depuis la dernière lettre d’information. Vous trouverez ci-dessous […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour depuis la dernière lettre d’information. Vous trouverez ci-dessous […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. C’est valable pour Canicompet mais aussi pour les […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour depuis la dernière lettre d’information. Vous trouverez ci-dessous […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour depuis la dernière lettre d’information. Vous trouverez ci-dessous […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. C’est valable pour Canicompet mais aussi pour les […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour depuis la dernière lettre d’information. Vous trouverez ci-dessous […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour depuis la dernière lettre d’information. Vous trouverez ci-dessous […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. C’est valable pour Canicompet mais aussi pour les […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour depuis la dernière lettre d’information. Vous trouverez ci-dessous […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour depuis la dernière lettre d’information. Vous trouverez ci-dessous […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. C’est valable pour Canicompet mais aussi pour les […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour depuis la dernière lettre d’information. Vous trouverez ci-dessous […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour depuis la dernière lettre d’information. Vous trouverez ci-dessous […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. C’est valable pour Canicompet mais aussi pour les […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour depuis la dernière lettre d’information. Vous trouverez ci-dessous […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour depuis la dernière lettre d’information. Vous trouverez ci-dessous […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Latest news

Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur.

J’ai écrit une documentation pour aider à valider les vaccins des chiens. […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]
Bonjour, Canicompet a eu droits à une multitude de mises à jour […]

Categories:

Tags:

No responses yet

Laisser un commentaire