所在包 com.yanggongzhuo.function.Server
- 服务器是由两种协议的套接字完成的:
- 好友之间的私人聊天业务是用TCP协议服务器依靠ServerSocket类处理的。
- 多人聊天室服务器则是用UDP协议中的多播数据报套接字MulticastSocket来模拟的。
- TCP和UDP服务器端都能够实时显示当前在线用户
- TCP服务器可以获取用户的IP和端口等基本信息,并获取用户上/下线时间
- UDP服务器可以向聊天室用户发送管理员公告,可以查看聊天室内的实时聊天动态
所在包 com.yanggongzhuo.function.Client
- 客户端包含了单人聊天和多人聊天两种模式:
- 单人聊天的实现使用了TCP协议的套接字Socket类
- 多人聊天是使用UDP协议的多播数据报套接字MulticastSocket所实现
- 客户端的下拉框可以实时的显示当前服务器所在线的成员
- 用户可以选取所在线用户进行单人聊天
- 本用户可以接收来自服务器其他在线好友的消息
- 可以点击进入多人聊天室进行多人聊天
所在包 com.yanggongzhuo.function.MulticastTalkRoom
- 使用了多播数据报套接字
- 可以实时的显示聊天室成员信息
- 有上/下线信息提示
- 可以向聊天室发送信息
所在包 com.yanggongzhuo.function.Login
- 后台连接到Server,检查所登录用户是否信息合法,从而向服务器进行发送访问或退出
- 使用User类实例对象作为登录用户的载体
- 可以判断用户的昵称是否已经被正在线上的用户所使用
- 可以判断用户的端口(大于1024)和IP地址是否和正在线上的用户冲突
- 登录成功时,实例化Client类对象
所在包 com.yanggongzhuo.frame.*
- 客户端类:ClientUI
- 服务器类:ServerUI
- 多人聊天室类:MulticastGroupRoom
- 登录:SignInUI
@author ygz