Maison > Java > javaDidacticiel > Programmation réseau en Java

Programmation réseau en Java

WBOY
Libérer: 2023-06-08 16:59:06
original
1280 Les gens l'ont consulté

Avec le développement rapide d'Internet, la programmation réseau est devenue de plus en plus importante. En tant que langage de programmation populaire, Java possède naturellement de fortes capacités de programmation réseau. Cet article fournira une brève introduction à la programmation réseau en Java.

  1. Bases

En Java, la programmation réseau nécessite l'utilisation de deux classes importantes : Socket et ServerSocket. La classe Socket est utilisée pour établir des connexions côté client, tandis que ServerSocket est utilisé pour créer des connexions côté serveur. Les objets Socket sont créés en spécifiant l'adresse IP et le numéro de port, tandis que ServerSocket est créé en spécifiant le numéro de port local.

  1. Protocole de transmission réseau

Lors de la programmation réseau, vous devez comprendre certains protocoles de transmission réseau de base, tels que TCP/IP, UDP et HTTP. TCP/IP et UDP sont les deux protocoles les plus couramment utilisés. TCP/IP est un protocole orienté connexion qui permet une transmission de données fiable, tandis que UDP est un protocole sans connexion qui permet une transmission de données plus rapide. Le protocole HTTP est un protocole de requête et de réponse hors ligne, largement utilisé dans la communication entre les serveurs Web et les navigateurs.

  1. Écriture de programmes réseau basés sur le protocole TCP/IP

Voici un exemple de programme client/serveur simple :

Client :

import java.net.*;
import java.io.*;
public class Client {
   public static void main(String [] args) {
      String serverName = args[0];
      int port = Integer.parseInt(args[1]);
      try {
         System.out.println("连接到主机:" + serverName + " ,端口号:" + port);
         Socket client = new Socket(serverName, port);
         System.out.println("远程主机地址:" + client.getRemoteSocketAddress());
         OutputStream outToServer = client.getOutputStream();
         DataOutputStream out = new DataOutputStream(outToServer);
         out.writeUTF("Hello from " + client.getLocalSocketAddress());
         InputStream inFromServer = client.getInputStream();
         DataInputStream in = new DataInputStream(inFromServer);
         System.out.println("服务器响应: " + in.readUTF());
         client.close();
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}
Copier après la connexion

Serveur :

import java.net.*;
import java.io.*;
public class Server extends Thread {
   private ServerSocket serverSocket;
   
   public Server(int port) throws IOException {
      serverSocket = new ServerSocket(port);
      serverSocket.setSoTimeout(10000);
   }

   public void run() {
      while(true) {
         try {
            System.out.println("等待客户端连接,端口号为:" + serverSocket.getLocalPort() + "...");
            Socket server = serverSocket.accept();
            System.out.println("远程主机地址:" + server.getRemoteSocketAddress());
            DataInputStream in = new DataInputStream(server.getInputStream());
            System.out.println(in.readUTF());
            DataOutputStream out = new DataOutputStream(server.getOutputStream());
            out.writeUTF("感谢连接我:" + server.getLocalSocketAddress() + "
Goodbye!");
            server.close();
         } catch (SocketTimeoutException s) {
            System.out.println("Socket timed out!");
            break;
         } catch (IOException e) {
            e.printStackTrace();
            break;
         }
      }
   }
   
   public static void main(String [] args) {
      int port = Integer.parseInt(args[0]);
      try {
         Thread t = new Server(port);
         t.start();
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}
Copier après la connexion

Ce programme démontre la communication simple entre le client et le serveur. Lorsque le client s'exécute, il envoie une chaîne au serveur et le serveur répond avec la chaîne.

  1. Résumé

La programmation réseau en Java peut être effectuée à l'aide de protocoles tels que TCP/IP et UDP. Lors de l'écriture de programmes réseau, vous devez utiliser la classe Socket et la classe ServerSocket.

Ce qui précède n'est que la partie introductive de la programmation réseau en Java. Il y a beaucoup de choses qui doivent être comprises en profondeur sur la programmation réseau, telles que l'envoi et la réception de paquets de données, la programmation réseau multithread et l'accès aux serveurs Web. via HTTP.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal