Latest web development tutorials

Beispiele Java - ServerSocket- und Socket-Kommunikation Beispiele

Java Beispiele Java Beispiele

Das folgende Beispiel zeigt, wie zu implementieren ein Client eine Nachricht an den Server sendet, empfängt der Server die Nachricht und lesen Sie die Ausgabe, dann schreiben Sie an den Client der Client die Ausgabe empfängt.

1 zu etablieren, um den Server

  • Serversocket-Server aufzubauen Kommunikation
  • Socket-empfangenden Client-Server die Verbindung herzustellen
  • Stellen Sie eine Dateneingabestrom IO zu lesen durch den Client gesendet
  • Gründung von IO bis auf den Client-Daten-Nachrichten zu senden

Server-Side-Code:

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

Der obige Code ausgeführt wird, ausgegeben wird:

启动服务器....

2, die Einrichtung des Kunden

  • Erstellen Socket Communications, stellen Sie den Kommunikations-Server IP und Port
  • Stellen Sie IO-Ausgangsdatenfluss-Server sendet eine Nachricht
  • Stellen Sie IO-Eingangsstrom die Datennachricht vom Server gesendet zu lesen

Client-Code:

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

Der obige Code ausgeführt wird, ausgegeben wird:

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

Java Beispiele Java Beispiele