好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

tcpip课程设计答辩.ppt

18页
  • 卖家[上传人]:第***
  • 文档编号:49684975
  • 上传时间:2018-08-01
  • 文档格式:PPT
  • 文档大小:349KB
  • / 18 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1TCP/IP协议分析课程设计答辩班级:网安一班答辩人:裴建民 2环境介绍开发环境:Microsoft Visual Studio 2010编程语言:C#使用技术:soket套接字编程,多线程3模块介绍客户端功能: l注册新用户 l登录服务器; l显示当前服务器用户; l群聊; l私聊;服务器功能: l 创建新用户; l验证客户端登录; l实现客户端消息的转发;4服务端一、项目中添加windows窗体,设计如下 1.添加listbox控件显示连接的客户端名称 2.添加Txtbox控件控制要监听的端口5服务端二、服务端代码编写服务端要的作用是监听客户端的连接请求并确认其请求 程序一开始便打开一个StartListening()线程6当服务器端接收到一个来自客户端的连接请求后, 它就打开一个clientservice()线程来服务客户端当一个 连接被建立后,每个客户端就被赋予一个属于它自己的套 接字同时,一个Client类的对象被建立该对象包的一些 相关信息,该信息被保存在一个数组列表中Client代码如 下7程序的主体部分应是ServiceClient()函数该函数是一个独立的线程,其主要部分是一个 while循环。

      在循环体内,程序处理各种客户端命令 服务器端接收来自以ASCII码给出的字符串,其中包含了一个“|”形式的分 隔符字符串中“|”以前的部分就是具体的命令,包括CONN、CHAT、 PRIV、GONE四种类型CONN命令建立一个新的客户端连接,将现有的用户列表发送给新用 户并告知其他用户有一个新用户加入CHAT命令将新的信息发送给所有 用户PRIV命令将悄悄话发送给某个用户GONE命令从用户列表中除 去一个已离开的用户并告知其他的用户某某已经离开了同时,GONE命令可以设置布尔型的变量alive为false 从而结束与客户端连接的线程ServiceClient()8Serviceclient()主要代码:910客户端这样,服务器端程序就基本完成了接下来设计客户 端 一、设计客户端窗体往界面上添加一个ListBox控件(用于显示用户列表),一 个RichTextBox控件(用于显示聊天消息以及系统消息) ,一个TextBox控件(用于发送消息),一个CheckBox控 件(确定是否为悄悄话),一个StatusBar控件以及四个 Button控件(分别为“连接”、“断开连接”、“开始记录”、“发 送”)。

      各个控件的属性设置可以参见源代码中的具体设置 ,这里从略界面设计好后的图象如下: 11客户端窗体如下 :12当客户端试图和服务器端进行连接时,一个连接必须建立 而且得向服务器端进行注册creatConnection()函数运用 一个TcpClient来和服务器端取得连接,同时创建一个 NetworkStream来发送消息还有,端口号和服务器端的是 保持一致的 creatConnection()函数如下:13在和服务器端连接成功后,程序就用 StoreforServer()()函数向服务器端发送一 个CONN命令该命令先是发送该用户的名称,然后 从服务器端获得其他所有用户的列表14之后,就是用户之间的聊天了ReceiveChat()函 数来完成该函数是一个独立的线程,它处理所有用户获得的 消息和用户发送的消息它主要处理了CHAT、PRIV、 JOIN、GONE、QUIT等命令,处理的方法和服务器端 的类似 ReceiveChat()主要代码15Receivechat( )主要代码如 下:16Receivechat()主要代 码:17通过以上的一些函数,客户端程序之间 就可以进行自由地聊天了,各个用户之间还 可以互相发送悄悄话。

      所以程序已经实现了 聊天室的基本功能了,不过最后各个用户还 要正常地退出,那就要用到QuitChat()函 数了18程序编写过程中遇到的困难:总结如让每个客户端和服务端中 间能够独立通讯,互不影响 解决:创建一个Client类包含客 户端成员的名称,地址,通 讯内容每个客户端都会实 例化一个新的数组,并且调 用新的线程。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.