1. 程式人生 > >線上聊天室後端版

線上聊天室後端版

實現一個客戶可以正常收發訊息

聊天室服務端:


/**
 * 線上聊天室:服務端
 * 實現一個客戶可以正常收發資訊
 * @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();
    }
}

 

執行結果: