java如何实现在线聊天室-创新互联

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

创新互联公司主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、响应式网站建设、程序开发、网站优化、微网站、微信小程序定制开发等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的网站建设、网站制作、网站设计、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体。

在线聊天室
服务器:

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如何实现在线聊天室”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联网站制作公司行业资讯频道!

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


标题名称:java如何实现在线聊天室-创新互联
标题来源:http://hbruida.cn/article/djpgsi.html