计算机网络课程设计实验报告.doc

计算机网络课程设计实验报告.doc

ID:48650846

大小:103.51 KB

页数:14页

时间:2020-01-30

计算机网络课程设计实验报告.doc_第1页
计算机网络课程设计实验报告.doc_第2页
计算机网络课程设计实验报告.doc_第3页
计算机网络课程设计实验报告.doc_第4页
计算机网络课程设计实验报告.doc_第5页
资源描述:

《计算机网络课程设计实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算机网络课程设计报告姓名:学号:班级:指导老师:湖南科技大学计算机科学与工程学院2013年6月实验一1.实验名称:网络聊天程序的设计与实现2.实验目的:通过本实验能够了解socket通信的原理并在此基础上编写一个聊天程序了解TCP/IP的基础知识,发现TCP与UDP的优缺点以及在网络通信的应用。3.实验原理:从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。当网络的边缘部分中的两个主机使用网络的两个主机使用网络的核心部分进行端到端的通信

2、时,只有主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到下三层的功能。从IP层来说,通信的两端是两个主机,IP数据报的首部明确的标志了这两个主机的IP地址。但是严格的讲,两个主机进行通信就是两个主机中的应用进程互相通信。根据应用程序的不同需求,运输层需要有两种不同的运输协议,即是面向连接的TCP和无连接的UDP。在使用这两个协议时运输层向高层用户屏蔽了下面的网络核心的细节,它使应用进程看见的就是好像在两个运输层实体间有一条端到端的逻辑通信信道,但这条逻辑通信信道对上层的表现却因运输层使

3、用的不同协议而有很大的差别。当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的,但这种逻辑通信信道就相当于一条全双工的可靠信道。但当运输层采用无连接的UDP协议时,这种逻辑通信信道仍然是一条不可靠信道。由于我在课程设计中采用的是UDP协议进行通信的,这里就只简述一下一些关于UDP的内容,UDP在传送数据之前不需要先建立连接。远地主机的运输层在收到UDP报文后,不需要给出任何确认。虽然UDP不提供可靠的交付,但在某些情况下UDP却是一种最有效的工作方式。为此当我们使用UTP协议使两个计算机中的进程

4、要互相通信,不仅必需知道对方的IP地址(为了找到对方的计算机),而且还要知道对方的端口号(为了找到对方计算机中的应用进程)。我们的计算机通信时采用客户-服务器方式。客户在发起通信请求时,必需先知道对方的服务器的IP地址和端口号,因此通过IP地址和端口号我们就能将两台主机连接起来,然后通过输入输出流将信息发送到对方的主机上。这样就能实现网络的聊天程序。4..流程图:开始加载套接字库创建套接字绑定套接字向服务器发送申请向客户端发送信息接收客户端信息继续发送?关闭连接关闭套接字库是否结束开始加载套接字库创建套接

5、字绑定套接字向服务器发送申请向客户端发送信息接收客户端信息继续发送?关闭连接关闭套接字库是否结束等待连接否是5.实验步骤:通过使用原理我们知道若要实现两主机间的通信最重要的是获得对方的IP地址和设置端口号,在实验中我们假定已经知道了要通信主机的IP地址,故在编程中主要的是套接字socke的编程步骤,在这个程序中,将两个工程添加到一个工作区。要链接一个ws2_32.lib的库文件。服务器编程步骤:1、加载数据库,创建套接字(WSAStrartup()/socket());2、绑定套接字到一个IP地址和一个端

6、口上(bind());3、将套接字设置为监听模式等待请求(listen());4、请求到来后,接受链接请求,返回一个新的对应于此次连接的套接字(accept());5、用返回的套接字和客户端进行通信(send()/rec());6、返回,等待另一个请求;7、关闭套接字,关闭加载的套接字库(closesocket()/WSACleanup()).其次是客户端的编程步骤:1、加载数据库,创建套接字(WSAStrartup()/socket());2、向服务器发送连接请求(connect());3、和服务器端进

7、行通信(send()/recv());4、关闭套接字,关闭加载的套接字库(closesocket()/WSACleanup()).6.实验过程中的问题:首先是在编写代码时考虑了是用TCP还是用UDP协议,通过翻看了原来计算机网络的书后举得利用TCP来编写聊天程序的话,由于TCP协议相对于UDP协议复杂了许多且是面向连接的运输层协议在每次建立与断开连接的时候都要不停的进行确认十分占用网络资源,但UDP就不用那么繁琐,且效率相对的要高出许多。但是在代码测试时老师说到作为一个聊天工具重点是信息的交流对于UDP很

8、容易出现丢包的现象,且TCP协议具有很高的可靠性,对于网络的占用也并非想象中的那么严重,故对于编写此类程序还是用TCP的好一些。其次是在编程过程中发现在通信过程中由于端口号只设定一个所以一旦服务器与一台客户端连接时,其他的的客户端就不能与服务器进行连接了,因为先前的客户端占用的端口号。通过与老师的交流后知道了,在使用TCP/UDP协议时有两条连接时,突然就有种豁然开朗的感觉。实验二:1.实验名称:Ping程序上设计与实现2.实

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

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

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