線上聊天室後端版
阿新 • • 發佈:2018-12-27
實現一個客戶可以正常收發訊息
聊天室服務端:
/** * 線上聊天室:服務端 * 實現一個客戶可以正常收發資訊 * @author fujun * */ public class Chat{ public static void main(String[] args) throws Exception { System.out.println("---Server----"); // 1、指定埠使用ServerSocket ServerSocket socket = new ServerSocket(8888); // 2、阻塞式等待連線accept Socket server = socket.accept(); System.out.println("一個客戶端建立連線"); // 3、接收訊息 DataInputStream dis = new DataInputStream(server.getInputStream()); String msg = dis.readUTF(); // 4、返回訊息 DataOutputStream dos = new DataOutputStream(server.getOutputStream()); dos.writeUTF(msg); // 釋放資源 dos.flush(); dos.close(); dis.close(); server.close(); } }
聊天室客戶端:
/** * 線上聊天室:客戶端 * 實現一個客戶可以正常收發資訊 * @author fujun * */ public class Client { public static void main(String[] args) throws Exception { System.out.println("-----Clinet-----"); // 1、建立連線:使用Socket建立客戶端 + 服務端的地址和埠 Socket client = new Socket("localhost",8888); // 2、客戶端傳送訊息 BufferedReader console = new BufferedReader(new InputStreamReader(System.in)); String msg = console.readLine(); DataOutputStream dos = new DataOutputStream(client.getOutputStream()); dos.writeUTF(msg); dos.flush(); // 獲取訊息 DataInputStream dis = new DataInputStream(client.getInputStream()); msg = dis.readUTF(); System.out.println(msg); dos.close(); dis.close(); client.close(); } }
執行結果: