Maison >Java >javaDidacticiel >Programmation de sockets en Java
Le World Wide Web et Internet ont changé notre façon de vivre et de communiquer les uns avec les autres, ainsi que la façon dont nous menons la science, l'ingénierie et le commerce. La vie moderne est entièrement régie ou centrée autour d’Internet. Les entreprises recherchent continuellement de nouvelles façons de produire et de communiquer avec divers services d'une nouvelle manière introduisant l'innovation. Dans cet article, nous discuterons de la programmation Socket en Java.
Les sockets fournissent une interface pour programmer les réseaux de la couche transport du modèle OSI. Les communications réseau utilisant des sockets sont omniprésentes sur Internet. De plus, un programme socket écrit en Java peut communiquer avec un programme socket écrit dans un langage non Java comme C, C++, Python, etc.
PUBLICITÉ Cours populaire dans cette catégorie LANGUAGES DE PROGRAMMATION - Spécialisation | 54 séries de cours | 4 tests simulésCommencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Les méthodes de classe Socket se trouvent en Java. Un socket est forcément 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. Ceci est utilisé pour le développement rapide d’applications réseau. Les classes clés, interfaces et exceptions présentes dans le package java.net simplifient la complexité impliquée dans la création de programmes client et serveur :
Les cours sont :
Les interfaces sont :
Les exceptions sont :
Il existe deux classes utilisées dans le package java.net qui sont utilisées dans la création de programmes.
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 socket qui entre en jeu, et voici une connexion établie avec elle.
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 Socket est ouvert.
Server Socket General= new Server Socket(PO)
Ici PO est le numéro de port.
Ici, le numéro de port est attribué au réseau de serveurs à travers lequel il communiquera à l'aide des flux d'entrée/sortie.
Étape 2 : Il y a une demande client pour laquelle nous devons attendre patiemment.
Socket General= server. accept()
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
Flux d'entrée de données
is = new Data Input Stream(client. Get Input Stream());
Flux de sortie de données
os = new Data Output Stream(client. get Output Stream());
Le flux d'entrée et le flux de sortie se voient attribuer leur Get Input Stream(), et ils sont appelés respectivement.
Étape 4 : Le contact avec le client est créé.
Recevoir du client :
string hello = br. Read Line();
Envoyez-le au client :
br. Write Bytes("How are you\n");
Le code suivant communique avec le client recevant et envoyant à un client les demandes.
Étape 5 : Enfin, le Socket est amené à quitter.
Enfin, la fonction fermer la socket permet de fermer et de terminer la programmation de la socket.
Un exemple simple de socket serveur est présenté ci-dessous :
Un programme simple pour connecter le serveur.
Code :
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(); } }
Nous allons maintenant 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 créé.
Socket client= new Socket(server, port_id)
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 = new Data Input Stream(client.getInputStream());
os = new Data Output Stream(client.getOutputStream());
Le flux d'entrée est et le système d'exploitation du flux de sortie est utilisé pour communiquer avec le client.
Step 3: Input/Output streams are made for talking to the Client.
Data is read from the server:
string hello = br. readLine();
Send data to the server:
br.writeBytes("How are you\n")
This step communicates with the server. The input stream and output stream both communicates with the server.
Step 4: Close the Socket when done.
This function will close the client when it is finally done.
An example of a simple server socket program is shown below.
A simple program for the client.
Code:
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(); } }
Socket programming is beneficial in Java and in any other programming language. A program written in Java can connect with a program written in C or C++. In other words, the language of the socket program doesn’t matter when there has to be a connection between the two. In this article, we have basically seen the Simple Server and the Simple Client example where there is a connection between the server socket and in the other, there is a connection between the server socket. We have used TCP/IP programming for the same. However, there are a lot of programming techniques like UDP programming techniques and URL programming techniques. We have not seen examples of such in this article. We have stressed on TCP/IP programming technique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!