软件工程大作业 下载本文

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类