基于加密的tcpip网络聊天软件的设计与实现

基于加密的tcpip网络聊天软件的设计与实现

ID:15600368

大小:98.09 KB

页数:16页

时间:2018-08-04

基于加密的tcpip网络聊天软件的设计与实现_第1页
基于加密的tcpip网络聊天软件的设计与实现_第2页
基于加密的tcpip网络聊天软件的设计与实现_第3页
基于加密的tcpip网络聊天软件的设计与实现_第4页
基于加密的tcpip网络聊天软件的设计与实现_第5页
资源描述:

《基于加密的tcpip网络聊天软件的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C#网络编程课程设计报告基于加密的TCP/IP网络聊天软件的设计与实现1绪论本课题是一个基于加密的TCP/IP网络聊天软件的设计与实现。通过基于网络方面的编程设计,深入理解C#语言的基础理论知识,更深刻地领会使用C#实现网络编程的精髓!TCP/IP协议是当前广域网和局域网通用的网络协议,因此,基于TCP/IP的编程就格外重要。从应用上来说,现在直接利用C层次SocketAPI进行TCP/IP编程的人确实越来越少了,各种现成的框架(如ACE、Java、.NETFCL)和控件(如IP*Works)大大简化了TCP/IP编程的难度。但是,如果想要在这个领域达到融会贯通的地步,不打下坚实的基础是不可

2、想象的。正如RichardStevens在TCP/IPIllustrated中所说,在网络编程领域,开发者所遇到的实际问题中,大约有90%都与开发者对于TCP/IP的理解相关。高层的框架和控件总结了TCP/IP的主要使用模式,并且进行了抽象和封装,这固然非常好,但是想要真正掌握TCP/IP网络编程的真谛,还得靠自己一不一个脚印从基础的开始。诚然C#语言的抽象、封装给我们使用带来方便,但是我觉得弄清楚其底层实现是非常重要的!信息化的发展使得丰富的资源共享,而有的人就喜欢贪得无厌去窃取别人的隐私,所以加密技术也不断的发展。本课题是使用对称加密算法才加密数据。信息时代计算机技术的发展给整个社会的生

3、活、工作方式带来了一次革命。因此网络编程设计是很有意义的!第16页,共15页C#网络编程课程设计报告2系统原理分析1、服务器和客户端连接基于TCP/IP套接字编程三个步骤:服务器监听,客户端请求,连接确认。所谓服务器监听,是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。客户端请求,是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。连接确认,是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户

4、端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,连接就建立好了。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。所以Socket接口的网络通讯原理:首先,服务端有一个进程(或多个进程)在指定的端口等待客户来连接,服务程序等待客户的连接信息,一旦连接上之后,就可以按设计的数据交换方法和格式进行数据传输。在使用TCP协议时,一般服务端进程先使用socket调用得到一个描述符,然后使用bind调用将一个名字与socket描述符连接起来,对于Internet域就是将Internet地址联编到socket。对于实例服务端用TcpList

5、ener监听,然后把连接的对象实例化为一个TcpClient,调用TcpClient.GetStream()方法,返回网络流实例化为一个NetworlStream流,然后进行Send,Receive。2、使用对称加密传输流程分析本程序使用DESCryptoServiceProvider类实现DES对称加密运算。服务器端:首先从客户端接收共密钥,然后使用公共密钥加密未来使用的对称密钥,再将加密了的对称密钥发给客户端,最后才给客户端发送加密了的信息!客户端:首先建立和发送公共密钥给服务器,然后从服务器接受加密的对称密钥,再解密该对称密钥将它作为自己私有的不对称密钥,最后才接收信息!第16页,共1

6、5页C#网络编程课程设计报告3详细代码设计服务器端开发的详细代码://添加的命名空间引用(原始生成的略)usingSystem.Net;usingSystem.Net.Sockets;usingSystem.Threading;usingSystem.IO;usingSystem.Security.Cryptography;namespaceEncryptedTcpServer{publicpartialclassFormServer:Form{//连接的用户System.Collections.Generic.ListuserList=newList();priva

7、tedelegatevoidSetListBoxCallback(stringstr);privateSetListBoxCallbacksetListBoxCallback;privatedelegatevoidSetComboBoxCallback(Useruser);privateSetComboBoxCallbacksetComboBoxCallback;//使用的本机IP地址IPAddressloc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。