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(); } }}
Le résultat de l'exécution du code ci-dessus est :
启动服务器....
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(); } }}
Le résultat de la sortie d'exécution du code ci-dessus est :
服务器:测试客户端和服务器通信,服务器接收到消息返回到客户端
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) !