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

正文內容

第9章160高級網(wǎng)絡編程api(完整版)

2025-07-16 10:38上一頁面

下一頁面
  

【正文】 9章 高級網(wǎng)絡編程 API 3. CMC處理信報的過程 1) 開始對話 在 CMC中執(zhí)行的所有信報操作都是在一個信報對話中進行的 。 CMC_flags extension_flags。 include 39。 cmcUiAvail, //返回的值 NULL //無擴展 )。 if(cmcStatus!=CMC_SUCCESS) { //進行錯誤處理 …… } 第 9章 高級網(wǎng)絡編程 API CMC_VERSION, //Version 1 CMC CMC_LOGON_UI_ALLOWED | CMC_ERROR_UI_ALLOWED amp。 ui_id表示發(fā)送對話框的父對話框的句柄,只有當使用的服務提供程序具有 UI時才可以使用。, 39。, 0, 39。, 39。 CMC_string message_type。, 0)。, 39。, 39。當不使用信報服務程序提供的 UI時,要在信報發(fā)送時設置地址等參數(shù),例如: 第 9章 高級網(wǎng)絡編程 API cmcStatus=(*lpfncmc_send_documents)(39。下面是該函數(shù)的原型: 第 9章 高級網(wǎng)絡編程 API CMC_return_code cmc_send_documents( CMC_string recipient_addresses, CMC_string subject, CMC_string text_note, CMC_flags send_doc_flags, CMC_string file_paths, CMC_string file_names, CMC_string delimiter, CMC_ui_id ui_id )。39。 …… CMC_return_code cmcStatus。 cmc_query_configuration(?)函數(shù)的調用格式如下: CMC_return_code cmc_query_configuration( CMC_session_id session, CMC_enum item, CMC_buffer reference, CMC_extension FAR *config_extensions )。 最后一個參數(shù) logon_extensions 是一個指向CMC_extension結構數(shù)組的指針 , 該結構在下面的很多函數(shù)中都要用到 , 它包含了使用 CMC API函數(shù)或結構時的擴展數(shù)據(jù) 。 define CMC_FALSE ((CMC_boolean)0) define CMC_TRUE ((CMC_boolean)1) CMC中定義的其他數(shù)據(jù)類型還有: typedef CMC_uint32 CMC_session_id。 typedef unsigned long int CMC_uint32。 第 9章 高級網(wǎng)絡編程 API 圖 94 插入 MAPI對話框 第 9章 高級網(wǎng)絡編程 API 3. 手工添加 MAPI 我們也可以通過在程序中直接加入代碼的方法添加MAPI, 操作方法如下: (1) 在 “ 文件 ” 菜單下添加 “ 傳送 … ”菜單項 (也可以放在其他菜單下 )。 第 9章 高級網(wǎng)絡編程 API 信報 API(MAPI) MAPI的結構 MAPI的組件如圖 91所示。 該函數(shù)的參數(shù)指出一個套接口句柄 , 在調用后返回與此套接口關聯(lián)的 CSocket對象指針 。 在調用 CSocket的構造函數(shù) (該構造函數(shù)不帶參數(shù) )創(chuàng)建了一個空的 CSocket后 , 再調用 Create(?)函數(shù)完成具體的初始化工作 。 第 9章 高級網(wǎng)絡編程 API SOCKET hConnected。它通過 MFC CArchive對象進行信息的接收和發(fā)送操作 , 使得套接口數(shù)據(jù)輸入和輸出如同使用 MFC的文檔一樣簡捷 、易用 。 該函數(shù)用于向與當前套接口已經建立連接的遠程套接口發(fā)送數(shù)據(jù) 。 } 第 9章 高級網(wǎng)絡編程 API 23. Receive( )函數(shù) Receive(?)函數(shù)格式如下: virtual int Receive( void* lpBuf, int nBufLen, int nFlags = 0 )。 else 第 9章 高級網(wǎng)絡編程 API { TCHAR szError[256]。 } CAsyncSocket::OnReceive(nErrorCode)。 break。 21. OnReceive( )函數(shù) OnReceive(?)函數(shù)格式如下: virtual void OnReceive( int nErrorCode )。 該函數(shù)是一個需要重載的回調函數(shù) , 當一個套接口可能需要與另一端建立連接時 , 可以調用此函數(shù)處理相應的消息 。 該函數(shù)的作用與 GetSockOpt(?)函數(shù)相反 , 用于設置一個套接口的選項 。或 BOOL GetSockName(SOCKADDR* lpSockAddr, int* lpSockAddrLen )。 rPeerAddress, UINTamp。 第 9章 高級網(wǎng)絡編程 API 8. Detach( )函數(shù) Detach(?)函數(shù)格式如下: SOCKET Detach(?)。 第 9章 高級網(wǎng)絡編程 API Create(?)函數(shù)中 , 第一個參數(shù) nSocketPort用于指定一個分配給套接口的端口號 , 其默認值為 0, 其真正的含義是告訴系統(tǒng)可以由系統(tǒng)給該套接口分配一個端口號 。 Close(?)函數(shù)的 行 為 取 決 于 套 接 口 的 SO_LINGER 和SO_DONTLINGER選項 。 hSocket參數(shù)為套接口句柄 。 rConnectedSocket, SOCKADDR* lpSockAddr = NULL, int* lpSockAddrLen = NULL )。 該函數(shù)用于在一個套接口上接受連接請求 。 第 9章 高級網(wǎng)絡編程 API 4. Bind( )函數(shù) Bind(?)函數(shù)格式如下: BOOL Bind( UINT nSocketPort, LPCTSTR lpszSocketAddress = NULL )。 第 9章 高級網(wǎng)絡編程 API 6. Connect( )函數(shù) Connect(?)函數(shù)格式如下: BOOL Connect( LPCTSTR lpszHostAddress, UINT nHostPort )。 在開發(fā)服務器程序時 , 應該明確地分配一個端口號 (即前面介紹的 “ 眾所周知 ” 的端口號 ), 這樣客戶就可以方便地使用該端口號與服務器連接 。 該函數(shù)的作用是將上一次建立關聯(lián)的套接口句柄斷開 ,并返回此套接口句柄 。 rPeerPort )。 第 9章 高級網(wǎng)絡編程 API 該函數(shù)的作用與 GetPeerName(?)函數(shù)類似 , 對于給定的套接口 , 就可以返回其 IP地址和端口號 。 要設置的選項值由參數(shù) lpOptionValue確定 ,其他參數(shù)的含義與 GetSockOpt(?)函數(shù)相同 。參數(shù) nErrorCode指出最新的錯誤代碼 。 該函數(shù)是一個需要重載的回調函數(shù),當一個套接口已經準備好數(shù)據(jù),并可以由函數(shù) Receive(?)接收時,就可以調用此函數(shù)處理相應的消息。 case SOCKET_ERROR: if (GetLastError(?) != WSAEWOULDBLOCK) { AfxMessageBox (Error occurred)。 } 第 9章 高級網(wǎng)絡編程 API 22. OnSend( )函數(shù) OnSend(?)函數(shù)格式如下: virtual void OnSend( int nErrorCode )。 wsprintf(szError, Server Socket failed to send: %d, GetLastError(?))。 該函數(shù)用于獲得已經與當前套接口建立連接的遠程套接口發(fā)送的數(shù)據(jù) , 該數(shù)據(jù)存入 lpBuf緩沖區(qū)中 。 第 9章 高級網(wǎng)絡編程 API 26. SendTo( )函數(shù) SendTo(?)函數(shù)格式如下: int SendTo( const void* lpBuf, int nBufLen, UINT nHostPort, LPCTSTR lpszHostAddress = NULL, int nFlags = 0 )。 同時 , 它支持模塊化的后臺信息處理 , 解決了CAsyncSocket中較難克服的多線程處理問題 。 BOOL CSockThread::InitInstance(?) { // Attach the socket object to the socket handle // in the context of this thread. (hConnected)。 該函數(shù)的三個參數(shù)都有默認值 , 對客戶機套接口來說 , 使用默認參數(shù)就可以了 。 如果沒有與此套接口關聯(lián)的對象 ,則返回 NULL。 第 9章 高級網(wǎng)絡編程 API 信 報 感 知 應 用 程 序可 傳 遞 信 報 的 應 用 程 序基 于 信 報 的 應 用 程 序客 戶 應 用 程 序系 統(tǒng) 服 務 程 序M A P I圖 91 MAPI組件結構圖 第 9章 高級網(wǎng)絡編程 API MFC對 MAPI的支持 1. 使用 VC++提供的 AppWizard 利用 AppWizard創(chuàng)建一個 MAPI應用的過程非常簡單 , 但要注意在 MFC AppWizardStep 4 of 6對話框中要確認對 MAPI項的選擇 , 如圖 92所示 。 該菜單項的 ID可以從屬性中選擇ID_FILE_SEND_MAIL(當然用戶也可以輸入其他 ID, 但該 ID是一個標準的 ID命令 )。 typedef void far * CMC_buffer。 typedef CMC_uint32 CMC_ui_id。 CMC_extension結構的定義如下: typedef struct { CMC_uint32 item_code。 第 9章 高級網(wǎng)絡編程 API 當要結束一個對話時 , 應該調用 cmc_logoff(?)函數(shù)來關閉一個對話 。 CMC_Boolean cmcUiAvail。)。 第 9章 高級網(wǎng)絡編程 API 該函數(shù)的大多數(shù)參數(shù)是字符串型的 。39。39。39。 第 9章 高級網(wǎng)絡編程 API cmc_send(?)函數(shù)可以提供更強的發(fā)送信報控制功能 , 它的調用格式如下: CMC_return_code cmc_send( CMC_session_id session, CMC_message FAR *message, CMC_flags send_flags, CMC_ui_id ui_id, CMC_extension FAR *send_extensions )。 CMC_message結構的定義如下: typedef struct { CMC_message_reference FAR *message_reference。39。39。39。 接收者的地址可以是確定的地址,例如,也可以是地址手冊、其他程序中接收者的名字。cmcSession, //返回對話 NULL //無擴展
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1