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

正文內(nèi)容

基于局域網(wǎng)的聊天程序設(shè)計(jì)-wenkub.com

2024-12-02 01:14 本頁面
   

【正文】 第七章、參考書目 [1] David J. Kruglinski, Programming Visual C++.1998. [2] 施煒、李錚、秦潁, Windows Sockets 規(guī)范和應(yīng)用 — Windows 網(wǎng)絡(luò)編程接口 . 1996. [3]Anthony Jones and Jim Ohlumd,TCP/IP 詳解 卷一:協(xié)議 (英文版 ). 機(jī)械工業(yè)出版社 ,2021. [4] 王罡 林立志 , 基于 Windows 的 TCP/IP 編程 .清華大學(xué)出版社, 2021. [5] 蔣東興等 ,Windows Sockets 網(wǎng)絡(luò)程序設(shè)計(jì)大全 . 清華大學(xué)出版社, 1999. [6] 薩師煊 , 數(shù)據(jù)庫系統(tǒng)概論 .高等教育出版社, 2021. [7]侯捷,深入簡出 MFC .1998 . [8]Jeff Prosise,MFC Windows 程 序設(shè)計(jì)(第 2版)。 3)利用 TCP/IP 協(xié)議中的 TCP協(xié)議,即面向連接的服務(wù),進(jìn)行數(shù)據(jù)的傳輸,對網(wǎng)絡(luò)中數(shù)據(jù)的傳輸過程。使我受益良多。///關(guān)閉記錄集 ()。 AfxMessageBox(Message)。 _variant_t vCount = m_pRecordsetGetCollect(vIndex)。 _variant_t RecordsAffected。,23),1,1)。e) { ::MessageBox(NULL,該表不存在。 ( 連 接 數(shù) 據(jù) 庫 失 敗 !\r\n 錯(cuò)誤信息 :%s,())。// 創(chuàng)建Connection 對象 if(SUCCEEDED(hr)) { hr = m_pConnectionOpen(DSN=XF。 ::MessageBox(NULL,str,警告 ,MB_OK │ MB_ICONWARNING)。 } catch (__error amp。 BOOL CXFClientApp:: InitInstance() { if(!AfxOleInit())//這就是初始化 COM庫 { AfxMessageBox(“ OLE 初始化出錯(cuò) !” )。代碼如下所示: 用 import 引入 ADO 庫文件 importc:\programfiles\monfiles\system\ado\no_namespaces rename(EOF adoEOF) 這行語句聲明在工程中使用 ADO,但不使用 ADO 的名字空間,并且為了避免常數(shù)沖突,將常數(shù) EOF 改名為 adoEOF。同 _CommandPtr 接口一樣,它不一定要使用一個(gè)已經(jīng)創(chuàng)建的數(shù)據(jù)連接,可以用一個(gè)連接串代替連接指針賦給_RecordsetPtr 的 connection 成員變量,讓它自己創(chuàng)建數(shù)據(jù)連接。如果你只執(zhí)行一次或幾次數(shù)據(jù)訪問操作,后者是比較好的選擇。而用 _ConnectionPtr 操作時(shí)要想得到記錄條數(shù)得遍歷所有記錄,而用 _RecordserPtr 時(shí)不需要。 _ConnectionPtr 接口返回一個(gè)記錄集或一個(gè)空指針。 OLE DB 為任何數(shù)據(jù)源提供了高性能的訪問,這些數(shù)據(jù)源包括關(guān)系和非關(guān)系數(shù)據(jù)庫、電子郵件和文件系統(tǒng)、文本和圖形、自定義業(yè)務(wù)對象等等。 ADO數(shù)據(jù)庫編程 ADO與 ADO 接 口簡介 ADO 是 Microsoft 為最新和最強(qiáng)大的數(shù)據(jù)訪問范例 OLE DB 而設(shè)計(jì)的,是一個(gè)便于使用的應(yīng)用程序?qū)咏涌凇D壳?,所有流行的幾種大型關(guān)系型數(shù)據(jù)庫有 MS SQL Server、 Oracle、 DB2 等。單擊“傳送文件”按鈕,跳出文件目錄,讓你選擇你要傳送的文件。單擊“取消”按鈕返回在線用戶列表界面。 圖 7 修改用戶資料界面 能修改的所有內(nèi)容格式必須正確而且不能未空,否則單擊“修改”后會提示“修改沒有成功!”修改成功就會提示“修改成功”,但不管成功與否,都會返回用戶列表界面,單擊用戶列表界面的“刷新”按鈕,如果修改成功,其中被修改的 信息會改變。 當(dāng)點(diǎn)擊“注冊”按鈕時(shí),如果注冊成功,提示“注冊成功,你的用戶號碼是XXXX!” 如果注冊失敗,若是服務(wù)器未啟動或連接失敗,則會提示“注冊失敗,服務(wù)器未啟動或連接失敗。 單擊“取消”按鈕退出登陸界 面。 當(dāng)用戶密碼未填寫時(shí),會提示“請輸入用戶密碼”。如果登陸失敗,在列表框中就會顯示如“ .. 斷開”字樣。 dlg(g_dwListCount1)。 CXFServerDlg *dlg=(CXFServerDlg*) AfxGetApp()GetMainWnd()。 } 若無錯(cuò)誤發(fā)生, recv()返回讀入的字節(jié)數(shù)。 } 若無錯(cuò)誤發(fā)生, send()返回所發(fā)送數(shù)據(jù)的總數(shù)( 請注意這個(gè)數(shù)字可能小于 len 中所規(guī)定的大?。?。錯(cuò)誤代碼WSA_IO_PENDING 表示重疊操作成功啟動,過后將有完成指示。}} 若無錯(cuò)誤發(fā)生且接收操作立即完成,則 WSARecv()函數(shù)返回所接收的字節(jié)數(shù)。dwRecvBytes, amp。錯(cuò)誤代碼 WSA_IO_PENDING 表示重疊操作成功啟動,過后將有完成指示。(注意該數(shù)目可能小于 len參數(shù)所指定的值)。 char ip[16]。 WSAOVERLAPPED o。 char buffSend[DATA_BUFSIZE]。(pSIo), NULL) == SOCKET_ERROR) { if (WSAGetLastError() != ERROR_IO_PENDING) { PrintSystemError(WSASend()失敗 )。Windows Sockets 不鼓勵用戶使用阻塞方式傳輸數(shù)據(jù),因?yàn)槟菢涌赡軙枞麄€(gè) Windows 環(huán)境。 } } 另外定義 OnReceive()函數(shù)來處理網(wǎng)絡(luò)數(shù)據(jù)到達(dá)事件 。注冊異步事件時(shí),沒有 FD_ACCEPT,但增加了 FD_CONNECT 事件,因此沒有 OnAccept()函數(shù),但增加了 OnConnect()函數(shù)。 定義 OnReceive()函數(shù)來 讀出網(wǎng)絡(luò)緩沖區(qū)中的數(shù)據(jù)包 。 default: break。 case FD_READ: //網(wǎng)絡(luò)數(shù)據(jù)包到達(dá)事件 OnReceive(CurSock)。 switch(iEvent) { case FD_ACCEPT: //客戶端連接請求事件 OnAccept(CurSock)。 //設(shè)置偵聽模式 return TRUE。 } 接下來就是對 SOCKET 的設(shè)置,本程序使用的數(shù)據(jù)傳輸模式是異步非阻塞模式,設(shè)置好之后就是監(jiān)聽客戶端信息,主要代碼如下 if(WSAAsyncSelect(ServerSock, m_hWnd, NETWORK_EVENT, FD_ACCEPT | FD_CLOSE | FD_READ | FD_WRITE) == SOCKET_ERROR) { MessageBox(注冊網(wǎng)絡(luò)異步事件失敗 !)。localaddr,sizeof(sockaddr)) = = SOCKET_ERROR) { MessageBox(綁定地址失敗 !)。 = AF_INET。 closesocket(ServerSock)。程序運(yùn)行時(shí)可能會多次調(diào)用 WSAStartuo() 函數(shù),但必須保證每次調(diào)用時(shí)的 wVersionRequested 的值是相同的。//給錯(cuò)誤信息賦值 if(err!=0) { return。//定義數(shù)據(jù)信息變量 int err。本結(jié)構(gòu)如下: int PASCAL FAR WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData)。交換完成后,服務(wù)器方 /客戶方關(guān)閉套接字 ns/s,最后服務(wù)器方通過 closesocket()關(guān)閉最初套接字 s,服務(wù)結(jié)束。 其他的 Socket 系統(tǒng)調(diào)用包括創(chuàng)建 Socket、 將創(chuàng)建的 Socket 與本地端口綁定 、 建立 Socket 連接服務(wù)器 、 監(jiān)聽是否有連接 、 請求數(shù)據(jù)的可控緩沖發(fā)送 和 可控緩沖接收 ,到最后 關(guān)閉 Socket。在處理例程中調(diào)用 WSACancelBlockingHook()函 數(shù)將取消處于阻塞的操作,它將結(jié)束阻塞循環(huán)。我們 可以調(diào)用 WSACancelBlockingCall() 函數(shù)取消此阻塞操作。因此在設(shè)計(jì) WINDOWS SOCKETS 程序時(shí),盡管系統(tǒng)支持阻塞操作,但還是反對程序員使用該操作。 異步請求函數(shù) 在 Berkeley Sockets 中請求服務(wù)是阻塞的, WINDOWS SICKETS 除了支持這一類函數(shù)外,還增加了相應(yīng)的異步請求函數(shù) (WSAAsyncGetXByY()。 WINDOWS SOCKETS 提供了一個(gè)異步選擇函數(shù) WSAAsyncSelect(),用它來注冊應(yīng)用程序感興趣的網(wǎng)絡(luò)事件,當(dāng)這些事件發(fā)生時(shí),應(yīng)用程序相應(yīng)的窗口函數(shù)將收到一個(gè)消息。第是SOCK_STREAM(流式 ),提供面向連接的可靠的通信服務(wù),比如 tel,。在 TCP/IP 網(wǎng)絡(luò)通信環(huán)境下, Socket 數(shù)據(jù)傳輸是特殊的 I/O,它也相當(dāng)于文件描述符,具有一個(gè)類似于打開文件的函數(shù)調(diào)用 socket()。 WINDOWS SOCKETS 程序設(shè)計(jì) WINDOWS SOCKETS API 簡介 VC++對網(wǎng)絡(luò)編程的支持有 socket 支持, WinI 支持, MAPI 和 ISAPI 支持等。 接收到重復(fù)服務(wù)請求,處理該請求并發(fā)送應(yīng)答信號。 /服務(wù)器模式 在 TCP/IP 網(wǎng)絡(luò)中兩個(gè)進(jìn)程間的相互作用的主機(jī)模式是客戶機(jī) /服務(wù)器模式(Client/Server model)。 參數(shù): buf:指向存有傳輸數(shù)據(jù)的緩沖區(qū)的指針。 參數(shù):同上 監(jiān)聽連接 —— listen() 功能:用于面向連接服務(wù)器,表明它愿意接收連接。//16 位端口號,網(wǎng)絡(luò)字節(jié)順序 struct in_addr sin_addr。 格式: int PASCAL FAR bind(SOCKET s,const struct sockaddr FAR * name,int namelen)。 套接字 下面給出 幾個(gè)基本的套接字, 這些套接字的使用貫穿了網(wǎng)絡(luò)編程的始末,主導(dǎo)了數(shù)據(jù)通信的過程。因
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1