Introduction à la programmation de socket en Java

Le World Wide Web et Internet ont changé notre façon de vivre et de communiquer les uns avec les autres et la façon dont nous menons la science, l'ingénierie et le commerce. La vie moderne est complètement guidée ou centrée sur Internet. Les entreprises recherchent continuellement de nouvelles façons de produire et de communiquer avec divers services d'une nouvelle manière, en introduisant l'innovation. Dans cet article, nous discuterons de la programmation de socket en Java.

Les sockets fournissent une interface pour la programmation des réseaux de la couche transport du modèle OSI. Les communications réseau utilisant des sockets se retrouvent partout sur Internet. En plus de cela, un programme socket écrit en Java peut communiquer avec un programme socket écrit en langage non Java comme C, C ++, Python, etc.

Méthodes de classe de socket

Les méthodes de classe de socket se trouvent en Java. Un socket est nécessairement un numéro de port afin que le TCP reconnaisse le numéro de port dans lequel les données doivent être envoyées. Java fournit un ensemble de classes dont java.net. Il est utilisé pour le développement rapide d'applications réseau. Les classes clés, les interfaces et les exceptions présentes dans le package java.net simplifient la complexité de la création de programmes client et serveur:

Les cours sont:

  • Gestionnaire de contenu
  • Paquet de datagramme
  • Prise de datagramme
  • Prise de datagramme Imp 1
  • Connexion URL HTTP
  • Je net adresse
  • Prise de multidiffusion
  • Socket de serveur
  • Prise
  • Socket Imp 1
  • URL
  • Connexion URL
  • Encodeur URL
  • Gestionnaire de flux d'URL

Les interfaces sont:

  • Content Handler Factory
  • Mappage des noms de fichiers
  • Socket Impl Factory
  • Usine de gestion de flux d'URL

Les exceptions sont les suivantes:

  • Bind Exception
  • Connecter l'exception
  • Exception d'URL incorrecte
  • Aucune exception de route vers l'hôte
  • Exception de protocole
  • Exception de socket
  • Exception d'hôte inconnue
  • Exception de service inconnue.

Programmation de socket TCP / IP

Il existe deux classes utilisées à partir du package java.net qui sont utilisées dans la création de programmes. Elles sont:

  • Socket de serveur
  • Prise

Un programme serveur communique via des flux d'entrée et de sortie. S'il y a une demande de connexion, alors il y a une nouvelle prise qui entre en jeu et voici une connexion établie avec elle.

Méthode 1 - Création d'un programme de socket de serveur

Il existe différentes étapes pour créer un programme de socket serveur en Java. Les étapes simples de création d'un programme de socket serveur sont les suivantes:

Étape 1 - Le serveur de socket est ouvert

Server Socket General = nouveau Server Socket (PO)

Ici PO est le numéro de port.

Ici, le numéro de port est attribué au réseau de serveurs via lequel il communiquera à l'aide de flux d'entrée / sortie.

Étape 2 - Il y a une demande du client que nous devons attendre patiemment

Socket General = serveur. J'accepte()

Voici le serveur. accept () attend le client et le nom du socket est Client ici.

Étape 3 - Les flux d'E / S sont créés afin qu'une connexion soit établie

Le flux d'entrée de données est = nouveau flux d'entrée de données (client. Get Input Stream ());

Flux de sortie de données os = nouveau flux de sortie de données (client. Get Output Stream ());

Le flux d'entrée est et le flux de sortie os se voient attribuer leur flux d'entrée () et ils sont appelés respectivement.

Étape 4 - Le contact avec le client est créé

Recevoir du client: String hello = br. Lire la ligne ();

Envoyez-le au client: br. Écriture d'octets ("Comment allez-vous \ n");

Le code suivant communique avec le client recevant et envoyant à un client les demandes.

Étape 5 - Enfin, le socket est fait pour quitter

Enfin, la fonction close socket est utilisée pour fermer et terminer la programmation du socket.

Un exemple simple de socket serveur est présenté ci-dessous:

// Un programme simple pour connecter le serveur.

import java.net.*;
import java.io.*;
public class SimpleMachine (
public static void main(String args()) throws IOException (
// On port 1362 server port is registered
ServerSocket soc = new ServerSocket(1362);
Socket soc1=soc.accept(); // Link is accepted after waiting
// Linked with the socket there should be a connection
OutputStream s1out = soc1.getOutputStream();
DataOutputStream dosH = new DataOutputStream (s1out);
// A string command is sent
dosH.writeUTF("Hello how are you");
// The connection can be closed but the server socket cannot.
dosH.close();
s1out.close();
soc1.close(); )
)

Méthode 2 - Création d'un programme de socket de serveur simple

Maintenant, nous allons voir un programme client simple en Java. Les étapes de création d'un programme client simple en Java sont présentées ci-dessous:

Étape 1 - L'objet socket est fabriqué

Client de socket = nouveau socket (serveur, id_port)

Le serveur et l'ID de port sont connectés, c'est-à-dire que le serveur est connecté à l'ID de port.

Étape 2 - Les flux d'entrée / sortie sont créés

is = nouveau flux d'entrée de données (client.getInputStream ());

os = nouveau flux de sortie de données (client.getOutputStream ());

Le flux d'entrée est et le flux de sortie est utilisé pour communiquer avec le client.

Étape 3 - Les flux d'entrée / sortie sont conçus pour parler au client

Les données sont lues sur le serveur: String hello = br. readLine ();

Envoyer des données au serveur: br.writeBytes ("Comment ça va \ n")

Cette étape communique avec le serveur. Le flux d'entrée et le flux de sortie communiquent tous les deux avec le serveur.

Étape 4 - Fermez le socket lorsque vous avez terminé

Cette fonction fermera le client une fois l'opération terminée.

Un exemple de programme de socket serveur simple est illustré ci-dessous

// Un programme simple pour le client

import java.net.*;
import java.io.*;
public class SimpleMachineClient (
public static void main(String args()) throws IOException
(
// At port 1325, connection to the server is opened
Socket s1H = new Socket("host", 1325);
// Read the input stream by getting an input file from the socket
Input Stream s1I = s1. getInputStream();
Data Input Stream disH = new Data Input Stream(s1In);
String str = new String (disH.readUTF());
System.out.println(str);
// After it is done, we can close the connection.
disH.close();
s1I.close();
s1H.close();
)
)

Conclusion - Programmation des sockets en Java

  • La programmation par socket est très utile en Java et dans tout autre langage de programmation, essentiellement du fait qu'un programme écrit en Java peut se connecter avec un programme écrit en C ou C ++.
  • En d'autres termes, la langue du programme socket n'a pas d'importance lorsqu'il doit y avoir une connexion entre les deux.
  • Dans cet article, nous avons essentiellement vu le Simple Server et l'exemple Simple Client où il y a une connexion entre le socket du serveur et dans l'autre il y a une connexion entre le socket du serveur.
  • Nous avons utilisé la programmation TCP / IP pour la même chose. Cependant, il existe de nombreuses techniques de programmation comme les techniques de programmation UDP et les techniques de programmation URL. Nous n'en avons pas vu d'exemples dans cet article. Nous avons insisté sur la technique de programmation TCP / IP.

Articles recommandés

Ceci est un guide de programmation de socket en Java. Nous discutons ici des méthodes de classe de socket avec le programme java. Vous pouvez également consulter nos autres articles suggérés -

  1. Packages Java
  2. Copier le constructeur en Java
  3. Fusionner le tri en Java
  4. Guide des meilleurs compilateurs Java
  5. Exemple de package Java | Exemple de travail et de codage