网络程序设计五

网络程序设计五

ID:35445794

大小:110.37 KB

页数:7页

时间:2019-03-24

网络程序设计五_第1页
网络程序设计五_第2页
网络程序设计五_第3页
网络程序设计五_第4页
网络程序设计五_第5页
资源描述:

《网络程序设计五》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、网络程序设计实验报告实验名称:」/0模型网络程序实验实验类型:验证性实验指导教师:贾浩老师专业班级:姓名:学号:20134507电子邮件:114413~l662@cici.com实验地点:东6E朋402实验日期:2016年5刀2日实验成绩:一、实验目的•掌握WinsockI/O模型工作原理;•熟悉I/O模型中使用的Winsock接口函数;•掌握使用I/O模型进行网络程序设计的编程步骤;二、实验设计1、实验背景:•Windows套接字工作模式•WinsockI/O模型1)选择模型(SelectModel)2)异

2、步选择模型(WSAAsyncSelectModel)3)事件选择模型(WSAEventSelectModel)4)重叠模型(OverlappedModel)5)完成端口模型(CompletionPortModel)2、实验内容:1、在上述I/O模型中自选一个I/O模型,构建一个TCP服务器,该服务器能:>接受客户端连接时显示客户端的IP,PORT信息>接收客户端连接时显示其连接编号,客户端退出时显示关闭的连接编号>能显示客户端发來的数据>能从键盘输入数据并发到客户端>其他数据传送功能(可选)2、编写客户端程序

3、,使之能:>从键盘输入数据并发送到服务器>能接收服务器发來的数据>当输入“bye”时退出程序3、实验设计客户端:首先创建套接字并连接到服务器;接受用户输入的数据并传输给服务器端,等待服务器端发送的数据;每次接收输入时,需要判断其输入的字符串是否是”bye”,如果是则退出程序,否则继续连接。服务器端:首先创建套接字并监听;等待用户连接上后,获取客八端的11和PORT信息;并未该连接编号,记录其编号,在客户端发开信息或退出程序时,显示其连接编号,接收用户发来的信息并保存,获取用户在服务器端的输入并发送到客户端。

4、三、实验过程(包含实验结果)1、背景知识学习,实验分析于设计2、参考书上代码实现,进行代码编写3、调试程序实验结果截图:服务器端:客户端:closedclosed发送消息:服务器端:*C:UsersAdministratorXDesIrtop1UinSock2・BisRunningindex:8connectfrom:127・0・0.1port:62684socketnunbcris:128index:lpock128ishellohellopenderrorindex^lsock128issenderr

5、orindex:1客户端:匡]9皿"3如価皿5比论卩片建文件夹10極型网第建序妄户貞Debug】O模垦网珞理序…C凹—WinSock2.0RunninghelloIhclloDiifcye「Pressanykeytocontinue四、讨论与分析1.你所选川的I/O模型是如何判断套接字上何时可以收发数据的或者数据收发己完成的?答:我选择的是选择模型,在使用选择模式时,会用到三个套接字集合,readfds用于检查套接字集合中套接字是否可读,writefds用于检查其可写性,最后一个ex卬etfds用于

6、检查错谋。当有数据可读,连接已经关闭、重启或是屮断,冇未决的连接请求时,readfds受信。当数据能够发送和连接成功调用connect时,writefds受信。当连接失败和00B数据可读时,excpetfds受信。只需调用select函数将套接字集合遍历,当套接字上有数据可接受时,可得到该受信的套接字并执行相应的操作。当己经完成时,也会将该套接字从集合屮删去。1.简述你所使用的I/O模型的编程步骤答:使用选择模型的编程步骤大致为:(1)初始化套接字结合fdSocket,向这个集合添加监听套接字句柄;(2)将f

7、dSocket集合的拷贝fdRead传递给select函数,当有事件发生时,select两数移除fdRead屮没有未决I/O操作的套接字句柄,然后返回;(3)比较原来fdSocket集合与select处理过的fdRead集合,确定哪些套接字有未决的I/O,并进一步处理这些I/O*;(4)回到第二步继续处理。2.在你所使用的I/O中如何判断发生网络事件或者10完成的套接字?答:选择模型是通过select两数去处理套接字集合,并将其屮没有未决I/O的套接字,即10完成的套接字移除,然示遍历处理后的套接字集合,此时

8、套接字集合屮只剩下有网络事件的套接字。四、实验者自评(从实验设计、实验过程、对实验知识点的理解上给出客观公正的白我评价)本次实验主要用到了WinsockI/O模型工作原理。在开始学习该章基础知识时,只是对I/O模型有了大概的理解,不能真正意会其中的作用。在实验过程当小,结合书本知识,我逐渐熟悉了I/O模型中使用的winsock接II函数,掌握了使用I/O模型进行网络程序设计的编程步骤,各个模型理解也

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

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

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