千家信息网

java如何实现在线聊天室

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,小编给大家分享一下java如何实现在线聊天室,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在线聊天室服务器:public
千家信息网最后更新 2025年02月01日java如何实现在线聊天室

小编给大家分享一下java如何实现在线聊天室,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

在线聊天室
服务器:

public class Chat {public static void main(String[]args) throws IOException{    System.out.println("服务器启动中...");    //创建服务器    ServerSocket server=new ServerSocket(9999);    //阻塞式等待连接,当客户端Socket创建好以后才开启    while(true)    {    Socket client=server.accept();    System.out.println("一个客户端建立了连接");    new Thread(()->{        DataInputStream dis = null;        DataOutputStream dos = null;        try {            dis = new DataInputStream(client.getInputStream());            dos = new DataOutputStream(client.getOutputStream());        } catch (IOException e1) {            e1.printStackTrace();        }        boolean flag=true;        while(flag) {        String msg = null;        try {            msg = dis.readUTF();            dos.writeUTF(msg);            dos.flush();        } catch (IOException e) {            //当断掉客户端连接时,不用循环再读取数据            flag=false;        }        //返回消息        }        try {            if(null!=dos)            {            dos.close();            }        } catch (IOException e) {            e.printStackTrace();        }        try {            if(null!=dis)            {            dis.close();            }        } catch (IOException e) {            e.printStackTrace();        }        try {            if(null!=client)            {            client.close();            }        } catch (IOException e) {            e.printStackTrace();        }    }).start();    }    }}

客户端:

public class Client {

public static void main(String[]args) throws UnknownHostException, IOException{    System.out.println("客户端启动中...");    Socket client=new Socket("localhost",9999);    //客户端发送消息    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));    DataOutputStream dos=new DataOutputStream(client.getOutputStream());    DataInputStream dis =new DataInputStream(client.getInputStream());    boolean flag=true;    while(flag) {    System.out.println("请输入消息");    String msg=br.readLine();    dos.writeUTF(msg);    dos.flush();    //获取消息     msg=dis.readUTF();     System.out.println(msg);    }     dos.close();     dis.close();     client.close();}}

以上是"java如何实现在线聊天室"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0