Maison > Java > javaDidacticiel > Exemple Java - Exemple de communication ServerSocket et Socket

Exemple Java - Exemple de communication ServerSocket et Socket

黄舟
Libérer: 2017-01-21 10:54:26
original
1509 Les gens l'ont consulté

L'exemple suivant montre comment implémenter le client pour envoyer un message au serveur, le serveur reçoit le message et lit la sortie, puis l'écrit au client et le client reçoit la sortie.

1. Établir le serveur

  • Le serveur établit la communication ServerSocket

  • Le serveur établit Socket pour recevoir la connexion client

  • Établir un flux d'entrée IO pour lire les données envoyées par le client

  • Établir un flux de sortie IO pour envoyer des messages de données au client

Code côté serveur :

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import 
java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.ServerSocket;
import java.net.Socket;public class Server {
   public static void main(String[] args) {
      try {
         ServerSocket ss = new ServerSocket(8888);
         System.out.println("启动服务器....");
         Socket s = ss.accept();
         System.out.println("客户端:"+s.getInetAddress().getLocalHost()+"已连接到服务器");
         
         BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
         //读取客户端发送来的消息
         String mess = br.readLine();
         System.out.println("客户端:"+mess);
         BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
         bw.write(mess+"\n");
         bw.flush();
      } catch (IOException e) {
         e.printStackTrace();
      }
   }}
Copier après la connexion

Le résultat de l'exécution du code ci-dessus est :

启动服务器....
Copier après la connexion

2. Créer un client

  • Créer une communication Socket, définir l'IP et le port du serveur de communication

  • Établir un flux de sortie IO pour envoyer des messages de données au serveur

  • Établir un flux d'entrée IO pour lire les données envoyées par le serveur Message de données

Code client :

/*
 author by w3cschool.cc
 Main.java
 */import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStream;
 import java.io.InputStreamReader;import java.io.OutputStream;
 import java.io.OutputStreamWriter;import java.net.Socket;
 import java.net.UnknownHostException;public class Client {
   public static void main(String[] args) {
      try {
         Socket s = new Socket("127.0.0.1",8888);
         
         //构建IO
         InputStream is = s.getInputStream();
         OutputStream os = s.getOutputStream();
         
         BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
         //向服务器端发送一条消息
         bw.write("测试客户端和服务器通信,服务器接收到消息返回到客户端\n");
         bw.flush();
         
         //读取服务器返回的消息
         BufferedReader br = new BufferedReader(new InputStreamReader(is));
         String mess = br.readLine();
         System.out.println("服务器:"+mess);
      } catch (UnknownHostException e) {
         e.printStackTrace();
      } catch (IOException e) {
         e.printStackTrace();
      }
   }}
Copier après la connexion

Le résultat de la sortie d'exécution du code ci-dessus est :

服务器:测试客户端和服务器通信,服务器接收到消息返回到客户端
Copier après la connexion

Ce qui précède est l'instance Java - Exemples de communication ServerSocket et Socket Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Étiquettes associées:
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