1. 程式人生 > >java客戶端與服務端通訊Tcp/Ip

java客戶端與服務端通訊Tcp/Ip

Java伺服器與客戶端的連線

客戶端程式

server.java

package com.sram.sever;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Sever {
	public static void main(String[] args) throws Exception{
		ServerSocket serverSocket =new ServerSocket(5555);
		
		System.out.println("服務端已經啟動,等待客戶端輸入********");
		while(true)
		{
			Socket client=serverSocket.accept();
		
			//使用簡單的流來輸出
			//此列印流就是伺服器先客戶端輸出的資訊流
			PrintStream printstream= new PrintStream(client.getOutputStream());
			//printstream.println("liuxingruichoubi");
			
			BufferedReader readerClient = new BufferedReader(new InputStreamReader(client.getInputStream()));
			
			String clientStr=readerClient.readLine();
			
			System.out.println("接收到了---->"+clientStr);
			
			printstream.println("接收到了---->"+clientStr);
		}
	}
}

伺服器程式

client.java

package com.sram.sever;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;

import javax.print.PrintService;
public class client {
	public static void main(String[] args) throws Exception{
		
		Socket client =new Socket("192.168.0.12",5555);
		
		//建立物件讀取服務端傳送內容,轉換流
		//字元輸入流
		BufferedReader readerServer = new BufferedReader(new InputStreamReader(client.getInputStream()));
		//向服務端輸出內容
		PrintStream printstream= new PrintStream(client.getOutputStream());
		//讀取控制檯輸入流
		BufferedReader readerConsole = new BufferedReader(new InputStreamReader(System.in));
		
		String consoleStr=readerConsole.readLine();
		//將控制檯的內容傳送給服務端
		printstream.println(consoleStr);
		
		String serverStr=readerServer.readLine();
		
		
		System.out.println("伺服器返回內容:"+serverStr);
		
	}
}

通訊協議