J'essaye de configurer à ServerSocket sur mon téléphone androïde, et envoie un char ou int ou n'importe quoi de mon ordinateur.ServerSocket accept() n'accepte pas les connexions sur Android
Le code sur le téléphone crée un ServerSocket puis bloque en attendant une connexion:
ServerSocket serverSocket = ServerSocketFactory.getDefault()
.createServerSocket(4444);
Log.d("HostThread", "ServerSocket created:"+serverSocket
.getInetAddress().getHostAddress());
Socket socket = serverSocket.accept();
(Le journal dit « 10-27 11: 41: 43,437: DEBUG/HostThread (23957): ServerSocket créé: 0.0.0.0")
Un peu de code simple en cours d'exécution sur mon PC tente de se connecter au téléphone:
Socket s = new Socket("xx.xx.xx.xx", 4444);
... (plus quelques autres bits si la prise est créé, mais je. Je ne reçois pas ce point, donc laissé dehors!)
Fondamentalement, le téléphone est en train d'accepter, et l'ordinateur ne se connecte pas. Le xx.xx.xx.xx est l'IP publique du téléphone que j'obtiens par programmation (et cela correspond à vérifier sur whatismyip.com).
J'ai défini l'autorisation INTERNET sur le téléphone. J'ai également été capable de faire cela en sens inverse (ServerSocket sur pc, client sur téléphone).
Des idées où je me trompe?
Je cours sur un vrai appareil, connecté à mon réseau mobile. Êtes-vous en train de dire qu'il est impossible d'autoriser les connexions entrantes comme celle-ci? – lukeo05
@ lukeo05 Impossible en fonction de votre opérateur de réseau :) Demandez à votre opérateur, ils devraient savoir! –
Je suppose que c'est possible sur Wifi? Cela semble être ma seule option si l'opérateur de réseau dit NON! – lukeo05