黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java實現(xiàn)WebSocket即時通訊

Java實現(xiàn)WebSocket即時通訊

更新時間:2022-07-06 11:30:30 來源:動力節(jié)點 瀏覽5445次

動力節(jié)點小編來告訴大家利用java socket實現(xiàn)簡單即時通訊的方法。

1.socket服務(wù)器

/**
 * @Description 即時消息服務(wù)器
 * @author xiao tang
 * @version 1.0.0
 * @createTime 2022年01月23日
 */
public class IMSocketServer {
    private static int PORT = 13;
    public static void main(String[] args) {
        ServerSocket server = null;
        try {
            // 開啟端口
            server = new ServerSocket(PORT);
            System.out.println("服務(wù)器已啟動");
            // 與客戶端建立socket連接
            Socket socket = server.accept();
            System.out.println("客戶端請求,創(chuàng)建連接成功");
            // 寫出器
            PrintWriter writer2Client = new PrintWriter(socket.getOutputStream());
            writer2Client.write("連接創(chuàng)建成功\r\n");
            writer2Client.flush();
            // 客戶端讀入器
            Scanner scanner4Client = new Scanner(socket.getInputStream());
            // 控制臺讀入器
            Scanner scanner4Console = new Scanner(System.in);
            // 等待客戶端輸入
            while(true) {
                // 讀取客戶端消息并打印
                String msg4Client = scanner4Client.nextLine();
                System.out.println("客戶端:" + msg4Client);
                System.out.print("服務(wù)端:");
                // 獲取控制臺輸入數(shù)據(jù)并發(fā)送到客戶端
                String msg4Console = scanner4Console.nextLine();
                writer2Client.write(msg4Console + "\r\n");
                writer2Client.flush();
            }
        } catch (IOException e) {
            throw new MyRunTimeException("打開端口socket失敗,端口=" + PORT + ", 異常信息=" + e.getMessage());
        } finally {
            try {
                if (server != null) {
                    server.close();
                }
            } catch (Exception e) {
            }
        }
    }
}

2.socket客戶端

/**
 * @Description 即時消息客戶端
 * @author xiao tang
 * @version 1.0.0
 * @createTime 2022年01月23日
 */
public class IMSocketClient {
    private static int PORT = 13;
    public static void main(String[] args) {
        try (Socket socket = new Socket()) {
            // 與服務(wù)器端建立socket連接
            socket.connect(new InetSocketAddress("localhost", PORT), 3000);
            // 新建讀取器,寫出器
            Scanner scanner4Server = new Scanner(socket.getInputStream());
            PrintWriter printWriter = new PrintWriter(socket.getOutputStream());
            // 控制臺讀入器
            Scanner scanner4Console = new Scanner(System.in);
            System.out.println("連接成功,等待服務(wù)器響應(yīng)");
            // 等待服務(wù)器控制臺輸入
            while(true) {
                // 讀取服務(wù)器響應(yīng)并打印
                String msg4Server = scanner4Server.next();
                System.out.println("服務(wù)器:" + msg4Server);
                System.out.printf("\n客戶端:");
                // 客戶端讀取控制臺輸入,并發(fā)送到服務(wù)器
                String msg4Console = scanner4Console.nextLine();
                printWriter.write(msg4Console + "\r\n");
                printWriter.flush();
            }
        } catch (Exception e) {
            throw new MyRunTimeException("客戶端通訊失敗, 異常信息=" + e.getMessage());
        }
    }
}

3.通訊效果

4.注意事項

發(fā)送消息的時候,一定要加上回車和換行符(\r\n),不然 scanner.nextLine() 無法識別到一行的結(jié)束,就會一直阻塞。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 黄色a一级 | 亚洲精品视频观看 | 成人速播影院在线播放免费 | 欧美一级特黄乱妇高清视频 | 久久中文字幕网 | 国产黄色高清视频 | 天堂中文资源网 | 午夜视频十八嗯嗯啊免费 | 免费国产成人高清在线观看不卡 | 日本一区二区三区不卡在线视频 | 一级免费黄色大片 | 亚洲成人日韩 | 手机看片高清国产日韩片 | 欧美系列第一页 | 黑人黄色一级片 | 欧美在线视 | 男人的天堂色偷偷之色偷偷 | 亚洲欧美一区二区三区另类 | 成人视品 | 亚洲国产午夜精品理论片的软件 | 真实一级一级一片免费视频 | 久久天天躁狠狠躁狠狠躁 | 黄色片视频在线观看 | 一区小说二区另类小说三区图 | 天天插天天射 | 噜噜色综合噜噜色噜噜色 | 欧美日韩国产在线观看 | a毛片免费全部在线播放毛 a毛片免费全部播放毛 | 日韩精品特黄毛片免费看 | 欧美黄色一级 | 激情一区二区三区成人 | 亚洲视频在线不卡 | 成人av手机在线观看 | 国内精品视频在线播放一区 | 日韩精品欧美激情亚洲综合 | 国产人妖性一区二区 | 久久国产成人 | 国产精品免费看香蕉 | 一级特黄录像播放 | 亚洲乱码一二三四区国产 | 亚洲男女在线 |