ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:900.01KB ,
资源ID:8533176      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8533176.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于TCPIP协议的网络通信应用程序课程设计报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于TCPIP协议的网络通信应用程序课程设计报告.docx

1、基于TCPIP协议的网络通信应用程序课程设计报告华南农业大学理学院( 运算机网络 )课程设计实验时刻: 2020学年第二学期 专业年级: 2020级应数2班 实验题目: 基于TCP/IP协议的网络通信应用程序 学生姓名:王晓珊学号 _18_自评成绩_95教师评成绩_学生姓名:黄如萍_学号 06_自评成绩_95_教师评成绩_学生姓名_学号 _自评成绩_教师评成绩_学生姓名_学号 _自评成绩_教师评成绩_* * 基于TCP/IP协议的网络通信小应用程序课程设计的题目及要求1.1课程设计题目把握基于TCP/IP协议实现网络通信,明白得TCP与UDP的不同特性和实现方式。课程设计要求成立一个基于TCP

2、/IP协议的网络通信小应用程序,实验可采纳UDP或TCP,建议基于WINDOWS平台。功能要求成立一个基于中心效劳器方式即时数据通信平台(IM)。要求如下(*为选做内容): 1. 能进行用户治理,所有效户必需登录到效劳器,由效劳器保护在线信息。 2. IM(Instant Message)功能:用户登录后能进行实时多方点到点短信息通信,如谈天; 3. 能选择要求效劳器进行转发效劳; 4. 能保留通信记录到数据库(SQL Server或其他桌面型数据库); 5. 能进行两边文件传输,能显示进度; 6. 支持断点重传。(检查时需有功能随时中断传送,并在下次启动能显示重传状态); *7. 数据包加密

3、;8.实时语音双向传送功能;*9.多方通话功能;10.界面设计要求布局合理,信息清楚。关于所有功能的要求1)要求清楚描述所设计的应答机制,数据包格式,所用数据结构及其相应算法,机密机制等;2)关于功能实现要求刻画实现方式,流程。开发工具、软硬件环境简介1.2开发工具开发工具:Microsoft Visual Studio 20201.3软硬件环境软件环境操作系统:Windows XP/Windows 7开发软件:Microsoft Visual Studio 2020开发语言:C#语言平台: Framework 硬件环境分辨率:1000750效劳器: PentiumIII 500以上或更高;内

4、存:128M以上;硬盘:至少40G以上; 工作站: PentiumII 266以上微机;内存:64MB硬盘: 至少5G以上; 程序实现的大体思想1.4程序设计分析本设计实现的基于TCP/IP协议的网络通信小应用程序,事实上是一个基于Socket的谈天室。谈天室要紧由谈天室效劳器和谈天室客户端组成。谈天室效劳器负责治理和客户端连接并发送消息给客户端;谈天室客户端负责接收或发送谈天消息,登录谈天室效劳器等。一个谈天室效劳器应该支持多个谈天室客户端进行同时连接。谈天室效劳器和谈天室客户端之间依照谈天协议进行通信。1.5大体思想程序的实现要紧分为两大部份,即效劳器部份和客户端部份。程序第一设计谈天室的

5、效劳器,再设计客户端部份,最后生成可执行文件。1效劳器效劳器端治理着谈天任务,它维持着一张当前在线用户的列表,转发用户发送来的消息。设计思想如下:3)利用控件设计窗体;4)功能实现;监听本机IP地址中的一个指定的端口;当有客户端向该端口发出请求时,效劳器程序立刻成立一个与该客户端的连接并启动一个新的线程来处置该客户端;依照客户端发送来的各类不同的请求,执行相应的操作,并将结果返回给客户端。5)运行调试。2客户端客户端应用程序包括用户登录窗口和用户谈天的主窗口,它许诺用户登录到效劳器,能够向效劳器发送消息,同时能够接收从效劳器返回的信息。1)设计登录窗体和谈天窗体;2)基于课程设计的要求实现各窗

6、体对应的功能;向效劳器发送连接请求;取得效劳器程序的确认后,成立与效劳器的连接,并取得与效劳器交互的流通道;通过网络流通道与效劳器端的程序进行数据通信。3)运行调试。系统功能框架图、系统流程图1.6功能框架图图1 功能框架图1.7系统流程图图2系统流程图具体实现进程1.8设计预备TCP的运用客户端只能和效劳器通信,无法和另外一个客户端直接通信。为了使两个客户端能彼此通信,所有的客户一概先把谈天信息发给效劳器,并告知效劳器改信息是发送给哪个客户的,效劳器收到信息后,再将该信息转发给另外一个客户。本设计的实现要紧用了TcpListener类用于用于侦听和同意传入的连接请求。大体方式:表1 TCP连

7、接大体方式TcpListener类基本方法作用Start启动监听Stop关闭TcpListener并停止监听请求AcceptSocket在同步阻塞方式下获取并返回一个用来接收和发送数据的Socket对象,同时从传入的连接队列中移除该客户端的连接请求Socket套接字的运用本设计中自概念了通信程序的可识别命令(见以下第三小点),即自概念的简单协议。故程序中为支持自概念的协议,采纳套接字来实现。依照连接启动的方式和本地套接字要连接的目标,套接字之间的连接进程能够分为效劳器监听,客户端请求,连接确认三个步骤。效劳器监听:效劳器套接字并非定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态

8、。客户端请求:由客户端的套接字提出连接请求,要连接的目标是效劳器的套接字。为此,客户端的套接字必需第一描述它要连接的效劳器的套接字,指出效劳器套接字的地址和端口号,然后再向效劳器套接字提出连接请求。连接确认:当效劳器套接字监听到客户端套接字的连接请求时,它就响应客户端套接字的请求,把效劳器套接字的信息发给客户端,一旦客户端确认了此信息,连接即可成立。而效劳器套接字继续监听其他客户端套接字的连接请求。效劳器和客户端必需别离进行编程,它们之间的连接如以下图所示。 图3 效劳器与客户端的连接图通信程序中可识别命令的概念程序中概念的可识别命令格式为两个一名整数拼接成的字符串,每位的含义如下: 第一名

9、第一名为0:客户机向效劳器发送的命令 第一名为1:效劳器向客户机发送的命令 01-离线 02-请求在线列表 能够识别的命令格式 03-请求对所有人闪屏振动 效劳端 04-请求对指定用户闪屏振动 05-请求广播消息 06-请求对指定用户发送文件要求转发给指定用户的用户名 :转发给指定用户 11-效劳器要求客户机更新在线列表 客户端 12-效劳器要求客户机做闪屏振动 default-同意用户消息或系统消息的正文效劳器具体设计窗体设计新建一个Windows窗体,命名为,要紧用于连接效劳器。只有成立了谈天室效劳器,客户才能连接到上面,从而进行谈天。效劳器成立以后,一样处于监听状态,等待客户机的连接申请

10、。窗体用到的要紧控件如下表所示。表2 要紧控件控件类型控件名字用途按钮两个按钮,分别用于连接服务器和退出连接标签两个标签,一个为“端口号”,另一个为显示“默认端口号”文本框两个文本框,一个用于用户输入端口号,另一个用于显示服务器连接等系统消息图4 窗体设计图编码1)创建效劳器这部份程序的编写主若是实现“取得有效的端口号和IP地址”,设计要点:自动获取IP地址IPAddress _ip = new 能够自主选择是不是输入端口号端口号是进程的标识,端口号范围从0到65535。由于1000之内的端口大多被标准协议占用,因此程序中能够自由利用的端口号一样都用大于1000的值。假设输入端口号,程序设置了

11、有效端口号的范围为1023与65535之间。假设端口有效那么连接效劳器,并提示相应的信息;默许端口号设置为8888假设没有输入端口号,或端口号无效,那么程序自动利用默许端口号连接效劳器。代码如下:private void button1_Click(object sender, EventArgs e) = false; string portParam; portParam = ; if (portParam != if (!(portParam, out _port) | _port 65535) _port = 8888; textBox1 .AppendText (端口号不合法,默许端

12、口号被同意!); textBox1 .AppendText (效劳器已启动,正在监听.n); textBox1 .AppendText (效劳器IP:0t端口号:1n, _ip, _port); _tcpl =new TcpListener (_ip, _port); (); trd = new Thread(new ThreadStart); (); 2)线程监听和执行由效劳器和客户端的谈天室模型能够看出,效劳器跟客户端的连接和客户端之间的连接都是通过执行流实现的,即每一个独立的执行流都是一个线程。编写线程监听和线程执行体监听来自多个客户端的请求。线程监听在创建效劳器代码中,能够看到假设输入

13、端口号有效,那么执行TcpListener类侦听和同意传入的连接请求,并开启线程挪用ThreadTask方式。ThreadTask方式要点:1)Socket套接字同意连接方式;2)验证用户名是不是唯一,假设当前哈希表没有该用户许诺连接,不然连接失败;3)挪用线程执行体;4)向所有效户发送系统消息,AppendText方式在文本框中追加入系统消息,并用foreach循环将系统消息传给各个客户端。线程执行体线程执行体要紧用于客户端和效劳器转发消息。线程执行体事实上也是谈天室中效劳器端的谈天依据,即咱们自概念的协议解析。这部份的程序流程如以下图。图5 客户端程序流程图5)退出连接编程要点:(1)TC

14、P停止监听; (2)清除在线列表。代码如下:private void button2_Click(object sender, EventArgs e) if (_tcpl != null) (); xt,输入保留的文件名,就会将当前接收信息文本框的所有内容以文本文件保留。private void save_btn_Click(object sender, EventArgs e) DialogResult ret; SaveFileDialog sfd = new SaveFileDialog(); = 文本文件(*.txt)|*.txt; = true; if (ret = () = ,

15、; 1)清除谈天记录点击清除谈天记录的按钮后,显现提示信息“确实排除吗?排除后不可恢复。”选择确信那么挪用clear()方式将当前的接收信息框的内容全数清空。 图8 清除谈天记录提示窗口1文件传输选择文件点击“选择文件”,进入打开文件对话框,依照文件类型挑选文件,找到要发送的文件,点击确信后,读取所选文件所在途径名。发送文件这一功能只能在“悄悄话”中实现,在“谈天室”模式下会提示“不能在谈天室发送文件”,还需要选择一个接收方,不然会提示“请选择一个接收者!n若是没有同意者可选,说明当前只有您一个人在线”。若是文件途径名为空,那么提示“请选择文件传输途径”,不然,依照途径名为指定的途径名初始化S

16、treamReader的一个新实例sr,读取文件内容,关闭sr,并释放与读取器相关的所有系统资源,并启动操纵发送进度条的按时器。保留文件点击接收文件,弹出保留文件对话框,选择文件保留途径;为指定途径的指定文件初始化StreamWriter新实例,利用(String value)方式将后跟行终止符的字符串写入文本流,同时启动操纵进度条的按时器。2数据加密这部份采纳RSA算法来实现。先初始化RSA对象,再利用RSA算法进行解密和加密。下表是RSA算法应用方式的说明。表5 算法应用方式的说明名称说明Encrypt方法使用RSA算法对数据进行加密。该方法有两个参数,第一个参数是被加密的字节数组,第二个

17、参数是填充方式(true表示使用OAEP方式填充,false表示使用PKCS#版填充),如果操作系统是Windows XP及其以上版本,可以使用true,如果是Windows 2000及其以上版本,使用falseDescrypt方法使用RSA算法对数据进行加密。其它内容与上相同。具体代码实现如下:2马俊. C#网络应用编程(第二版).北京:人民邮电出版社.3谭桂华,魏亮. Visual C#高级编程范例.北京:清华大学出版社.4吴晨,陈建孝. C# 网络与通信程序设计案例精讲. 北京:清华大学出版社.5刘瑞新.C#网络编程及应用.北京:机械工业出版社.课程设计评分表教师评阅:设计目的明确; 操作步骤正确;设计文稿(表格、程序、数据库、网页)符合要求; 设计结果正确;设计分析总结全面;设计报告规范;课程设计答辩情况记录:思路清晰;语言表达准确,概念清楚。准备工作充分, 具备必要的报告资料;报告在规定的时间内完成。回答问题有理论依据,基本概念清楚。主要问题回答简明准确;对前人工作有改进或突破,或有独特见解。评阅教师签名:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1