lkr事件对象IO管理程序实例

上传人:dus****log 文档编号:88608943 上传时间:2022-05-11 格式:DOC 页数:2 大小:29KB
返回 下载 相关 举报
lkr事件对象IO管理程序实例_第1页
第1页 / 共2页
lkr事件对象IO管理程序实例_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述
实验名称事件对象I/O管理程序实例所属课程名称TCP/IP协议与网络编程实验时间2010-11-23实验地点信控系二机房学生姓名芦涛实验器材及环境PC机、Visual C+ 6.0实验目的1. 在实验报告中,对事件对象I/O管理程序实例中所调用的函数进行分析。实验内容1 分析事件对象所对应的函数,对事件对象I/O管理程序进行分析注释;2 注释事件对象I/O管理程序实例中所调用的函数功能,及其作用;3 分析函数的变量及其参数;实验步骤1 使用WSAStartup()函数进行环境初始化:定义变量:WSADATA wsaData;函数使用: WSAStartup(MAKEWORD(2,0),& wsaData);2. 使用socket()函数创建套接口:定义变量:SOCKET Listen,Accept;函数使用:Listen =socket(AF_INET,SOCK_STREAM,0);(创见一个基于TCP的流式套接口Listen)3. 使用bind()函数将套接口、端口号、IP地址进行绑定:定义变量:struct sockaddr_in InternetAddress; InternetAddress.sin_family= AF_INET; InternetAddress.sin_addr.s_addr=htonl(INADDR_ANY); InternetAddress.sin_port=htons(5050);函数使用:bind (Listen,(PSOCKADDR)& InternetAddress,sizeof(InternetAddress); 4. 使用WSACreateEvent()函数创建一个事件对象(NewEvent):定义变量:WSAEVENT NewEvent;函数使用:NewEvent= WSACreateEvent();5. 使用WSAEventselect()函数注册网络事件:定义变量: 函数使用:WSAEventselect(Listen,NewEvent,FD_ACCEPT/ FD_CLOSE);(注册一个套接口为:Listen,事件对象句柄为:NewEvent,网络事件集合为:套接口上将要连接的通知和套接口连接关闭的通知)5. 使用lisent()函数监听套接口(Listen):定义变量: 函数使用:listen(Listen,5);6. 使用WSAWaitForMutipleEvents()函数在所有套接口上进行等待网络事件的发生 定义变量:DWORD EventTotal=0; SOCKET ScokeWSA_MAXIMUN_EVENTS; WSAEVENT EventWSA_MAXIMUN_EVENTS;函数使用:WSAWaitForMutipleEvents(EventTotal,EventArray,FALSE,WSA_INFINITE,FALSE);7. 使用WSAEnumNetworkEvents()函数在所有套接口上进行查询网络事件的发生定义变量:函数使用:WSAEnumNetworkEvents(SocketArrayIndex-WSA_WAIT_EVENT_0,EventArrayIndex-WSA_WAIT_EVENT_0,&NetworkEvents),8.使用accept()函数接收新的连接,并将其存入套接口数组定义变量:函数使用:Accept=acceptSocketArrayIndex-WSA_EVENT_0,NULL,NULL)9.使用recv()函数接收新的连接,并将其存入套接口数组定义变量:函数使用:recv(Socketindex- WSA_EVENT_0,buffer,sizeof(buffer),0);10.使用closesocket()函数关闭套接口11.使用CompressArrays()从套接口数组和事件数组中删除关闭的套接口的有关信息定义变量:函数使用:CompressArrays(Event,Socket,&EventTotal); 实验总结在本次事件案例中使用到了使用WSAStartup()函数进行环境的初始化操作,socket()函数创建一个套接口,并将其赋值于,ListenBind()函数进行绑定,绑定套接口好号,端口号,IP地址;WSACreateEvent()函数创建一个事件对象;WSAEventSelect()函数注册套接口连接的网络事件,WSAWaitForMutipleEvents()函数在所有套接口上进行等待网络事件的发生;WSAEnumNetworkEvents()函数在所有套接口上进行查询网络事件的发生;accept()函数接收新的连接,并将其存入套接口数组recv()函数接收新的连接,并将其存入套接口数组closesocket()函数关闭套接口,CompressArrays()从套接口数组和事件数组中删除关闭的套接口的有关信息。实验心得完成此次的实验报告单后我的感受有:1、 对学过的知识不能够真正理解。2、 对学过的理论知识不能在实际问题中学以致用。3、 对循环语句的逻辑思维不理解。4、 对一些语句的使用语法模糊不清。不能正确的用了流程图来反映其代码的含义及其做题思路。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!