- 6
- 0
- 约2.38万字
- 约 39页
- 2020-08-30 发布于天津
- 举报
一、服务器/客户端聊天室模型
聊天室客户端(其他) 聊天室客户端(笔记本) 聊天室客户端(商用PC) 服务器 其他服务器
1.首先启动聊天室服务器,使得TcpListener开始监听端口,此时TcpListener会进入Pending状态,等待客户端连接;
2.其次,当有客户端连接后,通过AccepSocket返回与客户端连接的Socket对象,然后通过读写Socket对象完成与聊天室客户端的数据传输。聊天室客户端成功启动后,首先创建一个Socket对象,然后通过这个Socket对象连接聊天室服务器,连接成功后开通Socket完成数据的接收和发送处理。
二、系统功能设计
本设计为一个简单的聊天室工具,设计基本的聊天功能,如聊天、列表维护等。系统主要为两大块:聊天室服务器及聊天室客户端。
服务器界面设计如下:
客户端界面设计如下:
三、聊天协议的应答
A—网络—B
主机与主机通信主要识别身份(标识设备用IP)及通信协议
网络应用程序——端口号——接收数据
注:1.IP地址是总机,端口号是分机(传输层)
1024,但实际编程只能用65535到0位二进制数,范围16端口号为2.
以上端口号
Socket编程
首先,我们了解常用网络编程协议。我们用得最多的协议是UDP和TCP,UDP是不可靠传输服务,TCP是可靠传输服务。UDP就像点对点的数据传输一样,发送者把数据打包,包上有收信者的地址和其他必要信息,至于收信者能不能收到,UDP协议并不保证。而TCP协议就像(实际他们是一个层次的网络协议)是建立在UDP的基础上,加入了校验和重传等复杂的机制来保证数据可靠的传达到收信者。一个是面向连接一个无连接,各有用处,在一些数据传输率高的场合如视频会议倾向于UDP,而对一些数据安全要求高的地方如下载文件就倾向于TCP。
Socket————网络应用程序
电话机————访问通信协议
聊天协议的应答:
聊天命令客户端服务器应答信号OK /ERR
状态CONNECTED和CLOSED聊天状态:
执行CONN命令后进入CONNECTED状态,执行下列命令:
CONN:连接聊天室服务器
JOIN:加入聊天(通知其他用户本人已经加入聊天室服务器)
LIST:列出所有的用户(向客户端发送全部的登录用户名字)
CHAT:发送聊天信息(公开的聊天信息)
PRIV:进行私聊(三个参数:私聊信息用户;接收私聊信息用户;发送信息)
EXIT:客户端向服务器发送离开请求;
QUIT:退出聊天,服务器向客户端发送退出命令(执行QUIT命令聊天状态变为CLOSED)
四、系统实现
服务器协议解读:
当有客户端连接聊天室服务器后,服务器立刻为这个客户建立一个数据接收的线程(多用户程序必备)。在接收线程中,如果收到聊天命令,就对其进行解读处理,服务器可以处理五种命令:CONN\LIST\CHAT\PRIV\EXIT。
服务器接收到CONN命令,就向其他用户发送JOIN命令告诉有用户加入,然后把当前的全部用户信息返回给刚刚加入的用户,以便在界面上显示用户列表。当接收到EXIT命令后,就清除当前用户的信息,然后向其他用户发送QUIT命令,告诉其他用户退出了,这些用户的客户端把离开的用户从用户 列表中删除。.
聊天室客户端的协议解读:
当客户端连接到服务器后,服务器立刻建立一个数据接收的独立线程。在接收线程中,如果收到了聊天命令,就对其进行解读处理。聊天室客户端一共处理 命令。OK\ERR\LIST\JOIN\QUIT的命令有五种:
启动聊天室客户SockeConnec启动客户数据接收线Ye是停止标志吗退出线N读取数解析命QUI命其他情命JOILIS命O命ER命删除用户数直接显显示用户加显示全部用命令执行成命令执行失用户信显示用户离休20毫秒五、程序设计(代码)
服务器端设计:
引入网络操作命名空间System.Net、System.Net.Sockets;
线程处理命名空间System.Threading
第一步:界面设计及类与相关成员的定义
对界面进行设计(简单)
类,封装了客户端的信息Client对内部函数进行设计(要编写一个独立的类即.
与连接,每一个客户进入聊天室,就创建一个Client对象,用于保存该用户的信息并接收用户数据和发送信息到客户端)
几个重要的类:TcpListener类(服务器套接字创建)、Socket类
internalstaticHashtable clients = newHashtable()。//clients
您可能关注的文档
- 四年级科学上册相互协作的人体器官复习学案范文整理.doc
- 四年级英语Therearesevendaysinaweek教案1范文整理.doc
- 四年级英语Unit5HowmuchisitPartBReadandwrite教案及练习范文整理.doc
- 四年级英语上册Lesson22ForwardandBackward教案新冀教版范文整理.doc
- 四年级英语上册Unit5Ournewhome教案范文整理.doc
- 四年级英语下册第九模块Module9weekend教学设计范文整理.doc
- 四年级语文专项阅读训练.doc
- 团总支学生会2011 2012下半活动一览表.doc
- 围手术期抗菌药物20164.ppt
- 国家基本公共卫生服务规范预防接种服务.ppt
原创力文档

文档评论(0)