ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

多对多聊天系统(Java网络编程)

2021-05-09 18:57:31  阅读:211  来源: 互联网

标签:ObjectOutputStream 登录 ObjectInputStream 创建 代码 编程 聊天 使用 Java


代码实现功能

  • 登录(仅使用用户名登录、使用正则表达式进行登录用户名校验)
  • 登录响应
  • 在线人员名单查询
  • 私发信息
  • 群发信息
  • 发送响应
  • 服务端对客户端在线检测(使用“心跳信号”)
  • 下线提醒

使用了

  • 网络编程
  • 多线程(没有使用JUC中线程安全集合,仅使用了普通的集合类)
  • 枚举类型
  • 正则表达式

博主暂时能力有限,没有还对以上技术进行深入的研究,本篇的代码只是对以上技术的简单使用,可能存在线程安全问题。

注意事项:在ObjectInputStream/ObjectOutputStream使用Socket的字节输入输出流进行创建实例的时候,需要注意在客户端和服务端创建ObjectInputStream、ObjectOutputStream的顺序,顺序不正确会抛异常。
且单个Socket实例的字节输入输出只能被一对ObjectInputStream、ObjectOutputStream流使用创建两者的实例,多次创建也会抛异常。
至于以上两种情况为什么抛异常,请查阅书籍或相关博客两节更多。
在这里插入图片描述

代码推送到了Gitee上:代码地址

最后感谢大佬同学帮我一起改BUG,他写的博客还比较好:博客主页 欢迎浏览点赞哦~

标签:ObjectOutputStream,登录,ObjectInputStream,创建,代码,编程,聊天,使用,Java
来源: https://blog.csdn.net/qq_46539113/article/details/116568300

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有