基于TCP的多人聊天室(一) 发表于 2019-08-16 分类于 Java 阅读次数: 基于TCP的多人聊天室(一)利用TCP来实现网络多人聊天室,此版本只能实现发送接收,不能随意发言,还没实现客户端互相传输,只能自己发送自己接收。 聊天室服务器:1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253/** * 聊天室服务器 * */public class Chat_Server { public static void main(String[] args) throws IOException { System.out.println("-------Server-------"); // 1.指定端口,使用ServerSocket创建服务器 ServerSocket server = new ServerSocket(6666); // 2.阻塞式等待链接 accept while (true) { Socket Server = server.accept(); System.out.println("客户端连接已建立"); new Thread(() -> { DataInputStream dis = null; DataOutputStream dos = null; try { dis = new DataInputStream(Server.getInputStream()); dos = new DataOutputStream(Server.getOutputStream()); } catch (IOException e1) { e1.printStackTrace(); } boolean flag = true; // 3.操作:输入输出流 try { while (flag) { dos.writeUTF(dis.readUTF()); dos.flush(); } } catch (IOException e) { flag=false; } // 4.释放资源 { try { if (null == dis) dis.close(); if (null == dis) { dos.close(); } if (null == dis) { Server.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }).start(); } }} 聊天室客户端:1234567891011121314151617181920212223242526272829/** * 聊天室客户端 * */public class Chat_Client { public static void main(String[] args) throws UnknownHostException, IOException { System.out.println("-------Client-------"); // 1.建立连接:使用Socket创建客户端:服务器地址和端口 Socket Client = new Socket("localhost", 6666); // 2.操作:输入输出流 DataOutputStream dos = new DataOutputStream(Client.getOutputStream()); BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); DataInputStream dis = new DataInputStream(Client.getInputStream()); boolean flag = true; while (flag) { String st = bf.readLine(); dos.writeUTF(st); dos.flush(); String sss = dis.readUTF(); System.out.println(sss); } // 释放资源 dis.close(); dos.close(); Client.close(); }} 原创技术分享,您的支持将鼓励我继续创作 打赏 微信支付 支付宝