L'exemple de cet article décrit brièvement la méthode d'implémentation de la communication Socket dans Android. Le contenu spécifique est le suivant :
1. Présentation de la communication par socket
En termes simples, le socket est la pierre angulaire de la communication et l'unité opérationnelle de base de la communication réseau qui prend en charge le protocole TCP/IP. Il s'agit d'une représentation abstraite du point final dans le processus de communication réseau et contient cinq types d'informations nécessaires à la communication réseau : le protocole utilisé pour la connexion, l'adresse IP de l'hôte local, le port de protocole du processus local, l'adresse IP de l'hôte distant et le protocole du port du processus distant.
Lorsque la couche application communique des données via la couche transport, TCP sera confronté au problème de fournir des services simultanés à plusieurs processus d'application en même temps. Plusieurs connexions TCP ou plusieurs processus d'application peuvent devoir transmettre des données via le même port de protocole TCP. Afin de distinguer les différents processus et connexions d'application, de nombreux systèmes d'exploitation informatiques fournissent des interfaces socket (Socket) permettant aux applications d'interagir avec le protocole TCP/IP. La couche application peut utiliser l'interface Socket avec la couche transport pour distinguer les communications de différents processus d'application ou connexions réseau afin de mettre en œuvre des services simultanés pour la transmission de données.
En un mot, socket est une encapsulation du protocole TCP/IP.
2. Étapes pour utiliser Socket (client) :
1. Établir une connexion Socket (Tcp)
Il est assez simple d'établir une connexion Socket en Java, ce qui peut être réalisé à l'aide de la classe Socket fournie par la bibliothèque de classes.
Socketclient=null; //Indique le client client=newSocket("localhost",5000);
2. Envoyer des données
PrintStreamout=newPrintStream(socket.getOutputStream()); //PrintStream est le plus pratique pour envoyer des données
3. Recevez les informations de retour
buf=newBufferedReader(newInputStreamReader(socket.getInputStream())); // Terminez la réception unique et lisez le flux d'entrée du Socket, puis lisez les informations de retour qu'il contient.
4. Fermez la prise
Socket.close();
3. Supplément :
Côté Socketsever (implémentation non multithread) ServerSocketserver=null; //Définit la classe ServerSocket Socketclient=null; //Indique le client PrintStreamout=null; //La sortie du flux d'impression est la plus pratique server=newServerSocket(8888); est sur le port 8888 Écoutez sur System.out.println("Le serveur est en cours d'exécution et attend que le client se connecte."); //Obtenir la connexion, le programme entre dans l'état de blocage Stringstr="helloworld"; //Indique les informations à afficher out=newPrintStream(client.getOutputStream());out.println(str); client client.close();server.close();