javawebsocket客户端接收大量数据(Java实现WebSocket即时通讯)java教程 / Java Web应用程序中的WebSocket通信...

wufei123 发布于 2024-06-05 阅读(8)

利用java socket实现简单即时通讯的方法1.socket服务器/** * @Description 即时消息服务器 * @author xiao tang * @version 1.0.0 * @createTime 2022年01月23日 */。

publicclassIMSocketServer { privatestaticint PORT = 13; publicstaticvoidmain(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) {

thrownew 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日 */

publicclassIMSocketClient { privatestaticint PORT = 13; publicstaticvoidmain(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) {

thrownew MyRunTimeException("客户端通讯失败, 异常信息=" + e.getMessage()); } } }3.通讯效果

4.注意事项发送消息的时候,一定要加上回车和换行符(\r\n),不然 scanner.nextLine() 无法识别到一行的结束,就会一直阻塞。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

河南中青旅行社综合资讯 奇遇综合资讯 盛世蓟州综合资讯 综合资讯 游戏百科综合资讯 新闻87441