大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

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

Java實現WebSocket即時通訊

更新時間:2022-07-06 11:30:30 來源:動力節點 瀏覽5501次

動力節點小編來告訴大家利用java socket實現簡單即時通訊的方法。

1.socket服務器

/**
 * @Description 即時消息服務器
 * @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("服務器已啟動");
            // 與客戶端建立socket連接
            Socket socket = server.accept();
            System.out.println("客戶端請求,創建連接成功");
            // 寫出器
            PrintWriter writer2Client = new PrintWriter(socket.getOutputStream());
            writer2Client.write("連接創建成功\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("服務端:");
                // 獲取控制臺輸入數據并發送到客戶端
                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()) {
            // 與服務器端建立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("連接成功,等待服務器響應");
            // 等待服務器控制臺輸入
            while(true) {
                // 讀取服務器響應并打印
                String msg4Server = scanner4Server.next();
                System.out.println("服務器:" + msg4Server);
                System.out.printf("\n客戶端:");
                // 客戶端讀取控制臺輸入,并發送到服務器
                String msg4Console = scanner4Console.nextLine();
                printWriter.write(msg4Console + "\r\n");
                printWriter.flush();
            }
        } catch (Exception e) {
            throw new MyRunTimeException("客戶端通訊失敗, 異常信息=" + e.getMessage());
        }
    }
}

3.通訊效果

4.注意事項

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

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产精品98视频全部国产 | 亚洲日本一区二区三区在线不卡 | 亚洲精品国产成人专区 | 伊人婷婷色香五月综合缴缴情 | 69成人网| 蜜桃久久久久久久久久久 | 成人亚洲网 | 久久精品中文字幕极品 | 天天射综合网站 | 97色在线播放 | 国内第一永久免费福利视频 | 五月天婷婷激情网 | 久久国产视屏 | 视频一区在线免费观看 | 日日做夜夜做 | 日日操天天射 | 九色视频网 | 免费观看四虎精品成人 | 免费国产一区二区三区 | 伊人久久在线视频 | a一级黄色片 | 国外成人在线视频 | 国产色资源 | 亚洲我射 | 欧美毛片一级的免费的 | 国内精品久久久久久影院8f | 久久最稳定资源站在线 | 999视频在线观看 | 久久综合激情 | 色片网站在线观看 | 日本边添边爱边做视频 | 福利午夜在线 | 老司机午夜在线视频 | 久久久亚洲 | 色综合久久中文字幕 | 成年午夜视频免费观看视频 | 男人资源网站 | 久久久四虎成人永久免费网站 | 亚洲精品在线看 | 免费人成年短视频在线观看网站 | 欧美乱理伦另类视频 |