freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第4講windows編程機(jī)制(1)(參考版)

2025-05-22 10:54本頁面
  

【正文】 原始套接字( SOCK_RAW) 。 數(shù)據(jù)報(bào)式套接字( SOCK_DGRAM) 提供無連接服務(wù)。 Windows Sockets Berkeley Sockets都是基于TCP/IP協(xié)議的; Sockets 2從 Sockets , 與協(xié)議無關(guān)并向下兼容 ,可以使用任何底層傳輸協(xié)議提供的通信能力,來為上層應(yīng)用程序完成網(wǎng)絡(luò)數(shù)據(jù)通訊,而不關(guān)心底層網(wǎng)絡(luò)鏈路的通訊情況,真正實(shí)現(xiàn)了底層網(wǎng)絡(luò)通訊對應(yīng)用程序的透明。 64 Windows Sockets的實(shí)現(xiàn) Windows Sockets是 Windows的網(wǎng)絡(luò)程序設(shè)計(jì)接口,它是從 Berkeley Sockets擴(kuò)展而來的,以 動態(tài)鏈接庫 的形式提供。 ②向服務(wù)器發(fā)服務(wù)請求報(bào)文,等待并接收應(yīng)答;繼續(xù)提出請求。 ⑤關(guān)閉服務(wù)器。服務(wù)完成后,關(guān)閉此新進(jìn)程與客戶的通信鏈路,并終止。接收到并發(fā)服務(wù)請求,要激活一個(gè)新的進(jìn)程 (或線程 )來處理這個(gè)客戶請求。 ②等待客戶請求到達(dá)該端口。 C/S模式在操作過程中采取的是主動請求方式。因此存在 字節(jié)順序轉(zhuǎn)換 的問題 61 客戶機(jī)/服務(wù)器模式 在 TCP/IP網(wǎng)絡(luò)應(yīng)用中,通信的兩個(gè)進(jìn)程間相互作用的主要模式是客戶機(jī) /服務(wù)器模式 (client/server),即客戶向服務(wù)器提出請求,服務(wù)器接收到請求后,提供相應(yīng)的服務(wù)。而網(wǎng)絡(luò)中的 TCP/IP協(xié)議使用 16位整數(shù)和 32位整數(shù)的 高位先存格式。 60 網(wǎng)絡(luò)字節(jié)順序 不同的計(jì)算機(jī)存放多字節(jié)值的順序不同,有的機(jī)器在起始地址存放低位字節(jié) (低位先存 ),有的機(jī)器在起始地址存放高位字節(jié) (高位先存 )。套接字通常只與同一區(qū)域的套接字交換數(shù)據(jù)。 套接字存在于通信區(qū)域中。 59 套接字 (socket)的引入 隨著 Unix的應(yīng)用推廣, 套接字 在編寫網(wǎng)絡(luò)軟件中得到了極大的普及。 套接字用一個(gè)半相關(guān)描述: (協(xié)議,本地主機(jī)地址,本地端口) 一個(gè)套接字半相關(guān)包含本地主機(jī)地址、端口號、使用協(xié)議類型。 58 基本概念 套接字 :描述的是主機(jī)間的進(jìn)程通信機(jī)制。它的出現(xiàn),使程序員可以很方便地訪問 TCP/IP,從而開發(fā)各種網(wǎng)絡(luò)應(yīng)用的程序。 57 Socket編程 網(wǎng)絡(luò)安全編程離不開網(wǎng)絡(luò)編程,凡基于網(wǎng)絡(luò)應(yīng)用的程序都離不開 Socket。 } DECLARE_MESSAGE_MAP() }。 示例 4 54 MFC編程基礎(chǔ) 55 MFC事件處理機(jī)制 include class sample:public CFrameWnd { public: sample() //構(gòu)造函數(shù) { Create(NULL, My Window)。 return TRUE。 return TRUE。 m_pMainWnd=obj。 53 MFC編程基礎(chǔ) sample *obj。 }。 class App:public CWinApp { public: BOOL InitInstance()。 MessageBox(My Window,CFrame constructor)??啥鄥⒖糓SDN。 } return 0。 break。 break。 break。 } return ( )。 DispatchMessage(amp。msg,NULL,0,0)) { TranslateMessage(amp。 UpdateWindow(h_wnd)。 //注冊窗口類 h_wnd=CreateWindow(ECJTU,My Window, WS_OVERLAPPEDWINDOW,0,0,400,500, 0,0,h_CurInstance,0)。 49 利用 SDK函數(shù)創(chuàng)建窗口 RegisterClass(amp。 =(HBRUSH)GetStockObject(WHITE_BRUSH)。 /* winMain 函數(shù) */ int PASCAL WinMain(HINSTANCE h_CurInstance,HINSTANCE h_PrevInstance,LPSTR p_CmdLine,int m_Show) { =WindowProc。 MSG msg。 } 47 總結(jié) :SDK開發(fā)程序的步驟 包含相關(guān)頭文件,如 寫 WinMain(…… )入口函數(shù) A、設(shè)計(jì)一個(gè)窗口類 (WNDCLASS) B、注冊窗口類 (RegisterClass) C、創(chuàng)建窗口 (CreateWindow) D、顯示及更新窗口 (ShowWindow UpdateWindow) E、消息循環(huán) (獲取、轉(zhuǎn)換、投遞消息函數(shù) ) 寫窗口過程函數(shù) 用 switch來接收各類消息并作相應(yīng)處理 示例 2 48 利用 SDK函數(shù)創(chuàng)建窗口 include include WNDCLASS wc。 default: return DefWindowProc(hwnd,uMsg,wParam,lParam)。 case WM_DESTROY: PostQuitMessage(0)。 case WM_CLOSE: DestroyWindow(hwnd)。 46 窗口過程函數(shù)示例代碼 LRESULT CALLBACK WindowProc(HWND hwnd,UINT uMsg, WPARAM wParam,LPARAM lParam) { switch(uMsg) { case WM_LBUTTONDOWN: MessageBox(hwnd,mouse clicked,message,0)。msg ):把消息投遞到窗口過程 45 窗口過程函數(shù) LRESULT CALLBACK WindowProc( HWND hwnd, // 消息的窗口句柄 UINT uMsg, // 消息代碼 WPARAM wParam, // 消息的附加參數(shù) 1 LPARAM lParam //消息的附加參數(shù) 2 )。 TranslateMessage(amp。msg)。msg)。 while(GetMe
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1