1. 程式人生 > >Java網路程式設計7.TCP網路程式設計之客戶端鍵盤錄入伺服器控制檯輸出

Java網路程式設計7.TCP網路程式設計之客戶端鍵盤錄入伺服器控制檯輸出

TCP網路程式設計之客戶端鍵盤錄入伺服器控制檯輸出

1、鍵盤錄入資料

  • BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  • BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));

2、TCP網路程式設計之客戶端鍵盤錄入伺服器控制檯輸出

(1)伺服器端

package cn.itcast_08;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerDemo {
	public static void main(String[] args) throws IOException {
		// 建立伺服器Socket物件
		ServerSocket ss = new ServerSocket(22222);
		// 監聽客戶端連線
		Socket s = ss.accept();
		// 包裝通道內容的流
		BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
		String line = null;
		while ((line = br.readLine()) != null) {
			System.out.println(line);
		}
		// br.close();
		s.close();
		// ss.close();
	}
}

(2)客戶端

package cn.itcast_08;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
/*
 * 客戶端鍵盤錄入,伺服器輸出到控制檯
 */
public class ClientDemo {
	public static void main(String[] args) throws IOException {
		// 建立客戶端Socket物件
		Socket s = new Socket("192.168.12.92", 22222);
		// 鍵盤錄入資料
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		// 把通道內的流給包裝一下
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
		String line = null;
		while ((line = br.readLine()) != null) {
			// 鍵盤錄入資料要自定義結束標記
			if ("886".equals(line)) {
				break;
			}
			bw.write(line);
			bw.newLine();
			bw.flush();
		}
		// 釋放資源
		// bw.close();
		// br.close();
		s.close();
	}
}