事件物件IO管理程式例項

2022-12-16 15:54:03 字數 2396 閱讀 6749

實驗名稱實驗時間學生姓名

事件物件i/o管理程式例項2010-11-23蘆濤

所屬課程名稱實驗地點實驗器材及環境

tcp/ip協議與網路程式設計信控系二機房pc機、visual c++ 6.0

實1.在實驗報告中,對事件物件i/o管理程式例項中所呼叫的函式進行分析。驗目的實驗內容

1.分析事件物件所對應的函式,對事件物件i/o管理程式進行分析注釋;2.注釋事件物件i/o管理程式例項中所呼叫的函式功能,及其作用;3.分析函式的變數及其引數;

實1.使用wsastartup()函式進行環境初始化:驗定義變數:wsadatawsadata;步函式使用:

wsastartup(makeword(2,0),& wsadata);驟2.使用socket()函式建立套介面:

定義變數:socketlisten,accept;

函式使用:listen =socket(af_inet,sock_stream,0);(創見乙個基於tcp的流式套介面listen)

3.使用bind()函式將套介面、埠號、ip位址進行繫結:

定義變數:struct sockaddr_in internetaddress; af_inet;

函式使用: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 scoke[wsa_maximun_events];

wsaeventevent[wsa_maximun_events];

函式使用:wsawaitformutipleevents(eventtotal,eventarray,false,wsa_infinite,false);

7.使用wsaenumnetworkevents()函式在所有套介面上進行查詢網路事件的發生

定義變數:

函式使用:wsaenumnetworkevents(socketarray[index-wsa_wait_event_0],

eventarray[index-wsa_wait_event_0],&networkevents),

8.使用accept()函式接收新的連線,並將其存入套介面陣列

定義變數:

函式使用:accept=acceptsocketarray[index-wsa_event_0],null,null)9.使用recv()函式接收新的連線,並將其存入套介面陣列

定義變數:

函式使用:recv(socket[index- 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、對一些語句的使用語法模糊不清。不能正確的用了流程圖來反映其**的含義及其做題思路。

實驗心得

不良事件監測管理程式

1.目的 對本公司上市後醫療器械不良事件實施有效監測 報告 評價和控制。2.範圍 已交付的醫療器械產品 3.職責 3.1業務 品保部負責對本公司生產上市的醫療器械的不良事件資訊收集工作 3.2 品保負責醫療器械不良事件的資訊記錄 整理和分析 評價工作 3.3品保 工程負責開展不良事件與產品的相關性研...

緊急或突發事件管理程式

依據公司員工手冊相關規定,現將相關緊急或突發事件管理程式再次重申如下,本公司員工所發生的一切意外事故或突發事件以及在本公司工作場所內外來人員所發生的意外事故皆適用此程式。意外事故或突發事件包括但不限於 火災或 有害物質洩漏 發生嚴重噪音,氣味,燃燒或者震動的情形 任何事故發生的受傷與死亡 交通肇事或...

醫療器械不良事件監測管理程式

1.目的 對不良事件的監測 報告進行控制。2.適用範圍 本程式適用於本公司醫療器械產品在臨床過程中或上市銷售後發生的技術隱患 問題的監測 本程式適用於醫療器械不良事件處理以及向國內行政管理部門的報告。3.職責 3.1品管部負責上市後醫療器械不良事件的監測 負責同不良事件的各相關方進行協調,及時通報 ...