Latest web development tutorials

Contoh java - contoh ServerSocket dan Socket komunikasi

Contoh Java Contoh Java

Contoh berikut menunjukkan bagaimana menerapkan klien mengirimkan pesan ke server, server menerima pesan dan membaca output, kemudian menulis ke klien klien menerima output.

1, untuk mendirikan server

  • Server ServerSocket untuk membangun komunikasi
  • Socket menerima client server untuk membangun koneksi
  • Membangun aliran input data untuk membaca IO dikirim oleh klien
  • Pembentukan IO ke klien untuk mengirim pesan data

kode sisi server:

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

Kode di atas dijalankan output:

启动服务器....

2, pembentukan klien

  • Buat Socket Komunikasi, mengatur komunikasi IP server dan Pelabuhan
  • Membangun IO aliran data keluaran server mengirimkan pesan
  • Membangun input stream IO untuk membaca pesan data yang dikirim oleh server

kode klien:

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

Kode di atas dijalankan output:

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

Contoh Java Contoh Java