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

正文內(nèi)容

第9章高級網(wǎng)絡(luò)編程api-預(yù)覽頁

2025-06-26 10:38 上一頁面

下一頁面
 

【正文】 cket類定義了一組非常有用的成員函數(shù),這些函數(shù)的功能和格式與前幾章介紹的函數(shù)相同或類似,故下面只進(jìn)行一些簡單的說明。rConnectedSocket參數(shù)為監(jiān)聽套接口; lpSockAddr參數(shù)為指向地址的指針 , 其初始值為空 , 在連接建立后保存遠(yuǎn)程套接口的 IP地址; lpSockAddrLen參數(shù)為指向客戶套接口地址長度的指針 。 第 9章 高級網(wǎng)絡(luò)編程 API 表 91 網(wǎng)絡(luò)事件的數(shù)值 網(wǎng)絡(luò)事件類型 對應(yīng)的數(shù)值 F D _ RE A D 0x01 F D _ W RIT E 0x02 F D _ O O B 0x04 F D _ A CCE P T 0x08 F D _ CO N N E CT 0x10 F D _ CL O S E 0x20 第 9章 高級網(wǎng)絡(luò)編程 API 3. Attach( )函數(shù) Attach(?)函數(shù)格式如下: BOOL Attach(SOCKET hSocket, long lEvent = FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE )。 或 BOOL Bind ( const SOCKADDR* lpSockAddr, int nSockAddrLen )。 該函數(shù)用于關(guān)閉套接口 , 釋放與套接口有關(guān)的系統(tǒng)資源 。 或 BOOL Connect( const SOCKADDR* lpSockAddr, int nSockAddrLen )。 在調(diào)用 CAsyncSocket的構(gòu)造函數(shù)創(chuàng)建了 CAsyncSocket對象后 , 需要調(diào)用 Create(?)函數(shù)來創(chuàng)建底層的套接口 。 在開發(fā)客戶程序時 , 可以使用默認(rèn)的 0值 , 即由系統(tǒng)自動分配一個端口號 。 最后一個參數(shù) lpszSocketAddress允許我們?yōu)樘捉涌谥付ㄒ粋€網(wǎng)絡(luò)地址 , 其默認(rèn)值為 0, 表示套接口的地址將限定為本地機(jī) 。 9. FromHandle(?)函數(shù) FromHandle(?)函數(shù)格式如下: static * PASCAL FromHandle( SOCKET hSocket )。 在實際應(yīng)用中 , 當(dāng)調(diào)用的操作失敗后使用該函數(shù)返回套接口的錯誤代碼 。 或 BOOL GetPeerName(SOCKADDR* lpSockAddr, int* lpSockAddrLen )。 rSocketAddress, UINTamp。 IP地址和端口號分別由rSocketAddress 和 rSocketPort 參數(shù)返回 , 也 可 以 由 指 向SOCKADDR結(jié)構(gòu)的參數(shù) lpSockAddr返回 。 該函數(shù)僅支持SOL_SOCKET和 IPPROTO_TCP兩個選項級別 。 15. IOCtl()函數(shù) IOCtl(?)函數(shù)格式如下: BOOL IOCtl( long lCommand, DWORD* lpArgument )。 參數(shù) nConnectionBacklog的取值區(qū)間為 1~ 5, 默認(rèn)值為 5,它指出正在等待連接的最大隊列長度 。 第 9章 高級網(wǎng)絡(luò)編程 API 18. OnClose( )函數(shù) OnClose(?)函數(shù)格式如下: virtual void OnClose( int nErrorCode )。 第 9章 高級網(wǎng)絡(luò)編程 API 20. OnOutOfBandData(?)函數(shù) OnOutOfBandData(?)函數(shù)格式如下: virtual void OnOutOfBandData( int nErrorCode )。舉例說明如下: 第 9章 高級網(wǎng)絡(luò)編程 API // 下面的 CMyAsyncSocket是 CAsyncSocket類的派生類 void CMyAsyncSocket::OnReceive(int nErrorCode) { static int i=0。 nRead = Receive(buff, 4096)。 Close(?)。 m_strRecv += szTemp。 該函數(shù)是一個需要重載的回調(diào)函數(shù) , 當(dāng)一個套接口已經(jīng)準(zhǔn)備好數(shù)據(jù) , 并可以由 Send(?)函數(shù)發(fā)送時 , 就可以調(diào)用該函數(shù)處理相應(yīng)的消息 。 第 9章 高級網(wǎng)絡(luò)編程 API void CMyAsyncSocket ::OnSend(int nErrorCode) { while (m_nBytesSent m_nBytesBufferSize) { int dwBytes。 Close(?)。 m_sendBuffer = 。 24. ReceiveFrom(?)函數(shù) ReceiveFrom(?)函數(shù)格式如下: 第 9章 高級網(wǎng)絡(luò)編程 API int ReceiveFrom( void* lpBuf, int nBufLen, CStringamp。 該函數(shù)用于從無連接的遠(yuǎn)程套接口上讀取數(shù)據(jù)報信息 。 或 int SendTo( const void* lpBuf, int nBufLen, const SOCKADDR* lpSockAddr, int nSockAddrLen, int nFlags = 0 )。 因此 , 可以將 ShutDown(?)的功能理解為對接收或發(fā)送功能的關(guān)閉 , 具體的控制模式有三種 , 如表 92所示 。 CSocket類提供了如下的一些常用函數(shù) 。 // ... class CSockThread : public CWinThread { // ... Other function and member declarations protected: CSocket m_sConnected。 return TRUE。 // After detaching it, it should no longer be // used in the context of this thread. // Start the other thread. AfxBeginThread(RUNTIME_CLASS(CSockThread))。 但對服務(wù)器套接口來說 ,通常還要為套接口指定一個端口號 。 地址的默認(rèn)值為 NULL, 指出套接口被創(chuàng)建時使用 INADDR_ANY。 第 9章 高級網(wǎng)絡(luò)編程 API 4. IsBlocking( )函數(shù) IsBlocking(?)函數(shù)格式如下: BOOL IsBlocking(?)。 第 9章 高級網(wǎng)絡(luò)編程 API 6. OnMessagePending( )函數(shù) OnMessagePending(?)函數(shù)格式如下: virtual BOOL OnMessagePending(?)。 第 9章 高級網(wǎng)絡(luò)編程 API 圖 92 創(chuàng)建一個 MAPI應(yīng)用 第 9章 高級網(wǎng)絡(luò)編程 API 如果選擇了 MAPI選項 , 則將為應(yīng)用程序的 File菜單增加一個傳送命令 , 并將為 CDocument MAPI功能增加相應(yīng)的消息映射項 。 第 9章 高級網(wǎng)絡(luò)編程 API 圖 93 郵件處理窗口 第 9章 高級網(wǎng)絡(luò)編程 API 2. 使用 MAPI組件 如果已經(jīng)創(chuàng)建好了一個項目 , 但在項目中并沒有使用 MAPI , 則 可 以 使 用 VC++ 的 Project?|?Add to Project?|?Commonents and Controls菜單命令 (在中文環(huán)境下為 “ 工程 ” | “ 添加工程 ” | Commonents and Controls), 彈出如圖 94所示的對話框 , 雙擊 Visual C++ Components, 從彈出的對話框中選擇 MAPI組件即可 。 (2) 為“傳送 …” 命令增加消息映射。 typedef long int CMC_sint32。 typedef char far * CMC_string。 typedef CMC_uint32 CMC_flags。 typedef CMC_counted_string CMC_message_reference。cmc_logon(?)函數(shù)的調(diào)用格式如下: 第 9章 高級網(wǎng)絡(luò)編程 API CMC_return_code cmc_logon( CMC_string service, CMC_string user, CMC_string password, CMC_object_identifier character_set, CMC_ui_id ui_id, CMC_uint16 caller_cmc_version, CMC_flags logon_flags, CMC_session_id FAR *session, CMC_extension FAR *logon_extensions )。 CMC_uint32 item_data。 第 9章 高級網(wǎng)絡(luò)編程 API 該結(jié)構(gòu)的最后一個字段 extension_flags使用時要注意 , 它設(shè)置為 CMC_EXT_LAST_ELEMENT時 , 表示是結(jié)構(gòu)數(shù)據(jù)中的最后一個結(jié)構(gòu) 。 該函數(shù)的調(diào)用格式如下: CMC_return_code cmc_logoff( CMC_session_id session, CMC_ui_id ui_id, CMC_flags logoff_flags, CMC_extension FAR *logoff_extensions )。39。 CMC_session_id cmcSession。39。 //下面創(chuàng)建一個會話 cmcStatus=cmc_logon( NULL, //使用默認(rèn)服務(wù) NULL, //用戶名 NULL, //用戶口令 NULL, //使用默認(rèn)字符集 0, //使用默認(rèn) UI標(biāo)識 第 9章 高級網(wǎng)絡(luò)編程 API CMC_VERSION, //Version 1 CMC CMC_LOGON_UI_ALLOWED | CMC_ERROR_UI_ALLOWED amp。 if(cmcStatus!=CMC_SUCCESS) { //進(jìn)行錯誤處理 …… } 第 9章 高級網(wǎng)絡(luò)編程 API 2) 發(fā)送信報 當(dāng)創(chuàng)建好一個 CMC對話后 , 就可以調(diào)用 cmc_send(?)函數(shù)或 cmc_send_documents(?)函數(shù)發(fā)送信報了 。 recipient_addresses參數(shù)表示收件人地址; subject 為郵件主題; file_paths 和file_names參數(shù)指出要發(fā)送郵件的目錄和文件名;可以在同一個字符串參數(shù)中定義多個值 , 使用 delimiter參數(shù)中定義的定界符將它們分開 。 第 9章 高級網(wǎng)絡(luò)編程 API 下面是該函數(shù)一種最簡單的調(diào)用方法: cmcStatus=(*lpfncmc_send_documents)(NULL,NULL,NULL, CMC_SEND_UI_REQUESTED?|?CMC_LOGON_UI_ ALLOWED|?CMC_ERROR_UI_ALLOWED NULL, NULL, NULL, 0)。to:Zhang Hong,cc:Li Ping39。Important Info39。We have a date… 39。c:, c:temp39。, 39。, 39。 第 9章 高級網(wǎng)絡(luò)編程 API 該函數(shù)使用了一個 CMC_message結(jié)構(gòu) , 以確定要發(fā)送的信報和有關(guān)信報的信息 , 這些信息包括接收者 、信報內(nèi)容 、 附件等 。 第 9章 高級網(wǎng)絡(luò)編程 API CMC_time
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1