import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; /** * socket入門demo2 * @author kxw * 能夠和客戶端socket進行信息交互 */ public class TcpServer { public static void main(String[] args) throws Exception { //當服務器端socket和客戶端soclet鏈接時 獲取輸入流和輸出流信息 交互 //建立服務器端serverSocket對象 定義端口 ServerSocket ss = new ServerSocket(3000); // 監聽鏈接 Socket socket = ss.accept(); if(socket!=null){ System.out.println("客戶端socket鏈接服務器成功!!!"); } // 根據socket讀取客戶端socket中的信息 InputStream is = socket.getInputStream(); //根據socket從服務器端向客戶端寫入信息 OutputStream os = socket.getOutputStream(); byte[] bytes = new byte[200]; int length = 0; length = is.read(bytes); String str = new String(bytes, 0, length); System.out.println(str); // 服務器端的輸出 os.write("Tcpserver::客戶端 ,我是服務器 已接收到你的請求!!".getBytes()); // 關閉資源 is.close(); os.close(); socket.close(); } }
package com.cnse.demo; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; public class TcpClient { public static void main(String[] args) throws Exception { // 根據約定和協議 鏈接服務器端的socket Socket socket = new Socket("127.0.0.1", 3000); // 根據socket對象像服務器端寫入數據 OutputStream os = socket.getOutputStream(); os.write("TcpClient:你好服務端我正像你發送請求".getBytes()); // 讀取服務器端的數據 InputStream is = socket.getInputStream(); byte[] buffer = new byte[200]; int length = is.read(buffer); System.out.println("內容"+new String(buffer, 0, length)); // 關閉資源 is.close(); os.close(); socket.close(); } }