g_name Owner_group varchar(50) varchar(50) 分组名称 用户 主键 主键 3) 好友表friends,如下所示。
表3.1.1.3 好友表
字段名 friend group_in owner_friend
3.1.2 服务器通信实现
3.1.2.1服务器与客户端的通信协议
1. login命令
通信格式:login
含义:用户请求登录服务器。用户发送login消息,服务器接收并返回用户好友及其服务增值信息。 2. list命令
通信格式:list,用户在线好友的信息
含义:客户端接收服务器发送的在线好友信息。 3. logout命令
通信格式:logout 含义:用户退出应用程序。服务器接收该信息后,会向该用户的好友发送提示信息,然后客户端会从在线好友删除用户。 4. message命令
格式:message
含义:表示与其他用户发送的谈话内容。 3.1.2.2服务器与客户端的系统引用类
数据类型 varchar(50) varchar(50) varchar(50) 字段说明 好友名称 所在分组 用户 备注 主键 主键 主键 tcpListener+stop()+start()+acceptTcpClient()Tcplistener类 filestream类 networkstream类
TcpClient-client-receiveTimeout-sendTimeout+close()+connect(in string : <未指定> = 127.0.0.0, in int : <未指定> = 50008)+getStream()Tcpclient类
UdpClient-client-enableBroadcast+connect(in ip : string = 127.0.0.0, in port : string = 58888)+send()+receive()Udpclient类
3.1.2.3实体类
userinfo-client : TcpClient-binaryReader-binaryWriter-name : string+close()
类useinfo 类Server 类record
Useinfo类说明:
用户会话的信息内容存储,用于聊天通信的数据接收与发送。 Server类说明:
服务端的主界面代码,这里是较简单地实现了用户之间的通信。 Record类说明:
记录用户的登录与退出的消息,用户的聊天记录。
3.1.2.4类图之间的关系
server类与引用类的聚合关系
Consultsrecord类与server类的关联关系
3.2.3 客户端通信实现 3.2.3.1实体类
clientlogin类
Client类
talkFormMessage-name : string-talkwindow : talkWindow
Talkformmessage类
multipleTalkers-port : int = 50888-udpclient : UdpClient+appendString()+receiveData()
multipletalkers类