Latest web development tutorials

Exemples Java - Exemples ServerSocket et Socket Communications

Des exemples Java Des exemples Java

L'exemple suivant montre comment implémenter un client envoie un message au serveur, le serveur reçoit le message et lire la sortie, puis écrire au client le client reçoit la sortie.

1, afin d'établir le serveur

  • serveur ServerSocket d'établir des communications
  • Socket serveur de réception du client pour établir la connexion
  • Mettre en place un flux d'entrée de données à lire IO envoyé par le client
  • Mise en place de IO vers le client d'envoyer des messages de données

Le 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();
      }
   }
}

Le code ci-dessus est exécuté sortie est:

启动服务器....

2, la mise en place du client

  • Créer Socket Communications, définissez l'adresse IP du serveur de communications et Port
  • Établir IO serveur de flux de données de sortie envoie un message
  • Établir flux d'entrée IO pour lire le message de données envoyé par le serveur

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();
      }
   }
}

Le code ci-dessus est exécuté sortie est:

服务器:测试客户端和服务器通信,服务器接收到消息返回到客户端

Des exemples Java Des exemples Java