1. 程式人生 > >Java Socket實現客戶端與服務端通訊例項

Java Socket實現客戶端與服務端通訊例項

首先,建立一個Server.java的伺服器端類

package socket;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
/**
 * Created by ljb on 2018-06-10.
 */
public class Server {
    public static void main(String[] args){
        BufferedReader br = null;
PrintWriter pw = null; try{ ServerSocket server = new ServerSocket(2000); Socket socket = server.accept(); //獲取輸入流 br = new BufferedReader(new InputStreamReader(socket.getInputStream())); //獲取輸出流 pw = new PrintWriter(socket.getOutputStream(),true); //獲取接收到的資料 String s = br.readLine(); pw.println(s);
//列印獲取到的資料 System.out.println(s); }catch (Exception e){ e.printStackTrace(); }finally { try{ br.close(); pw.close(); }catch (Exception e){ } } } }

然後建立客戶端類 Client.java

package socket;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter; import java.net.Socket; /** * Created by ljb on 2018-06-10. */ public class Client { public static void main(String[] args){ BufferedReader br = null; PrintWriter pw = null; try{ Socket socket = new Socket("localhost",2000); //獲取輸入流與輸出流 br = new BufferedReader(new InputStreamReader(socket.getInputStream())); pw = new PrintWriter(socket.getOutputStream(),true); //向伺服器傳送資料 pw.println("hello,world"); String s = null; while (true){ s = br.readLine(); if(s != null){ break; } } System.out.println(s); }catch (Exception e){ e.printStackTrace(); }finally { try{ br.close(); pw.close(); }catch (Exception e){ } } } }

然後先執行服務端類Server.java,然後再執行Client.java

服務端會收到客戶端傳到的 hello,world 打印出來後,並轉發給客戶端,客戶端也會打印出來