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

正文內(nèi)容

基于tcp協(xié)議網(wǎng)上聊天程序-文庫(kù)吧資料

2025-06-06 12:00本頁(yè)面
  

【正文】 //接收消息內(nèi)容 CClientSocket *curr = NULL。 memset(buff,0,sizeof(buff))。 m_dlgServerUpdateUser(this)。 //顯示登錄信息 p_EditReplaceSel(strTemp)。 //時(shí)間格式 CEdit *p_Edit = (CEdit *)::AfxGetMainWnd()GetDlgItem(IDC_EDIT_INFO)。 //接受客戶(hù)登錄信息 CTime time = CTime::GetCurrentTime()。 memset(buff,0,sizeof(buff))。 char type = headertype。 Header *header = (Header*)buff1。 memset(buff1, 0, sizeof(buff1))。 CDialog::OnOK()。 //發(fā)送客戶(hù)信息至服務(wù)器 m_pSocketSend(m_strName,())。 m_pSocketSend((char *)amp。 = LOGIN_IO。 return。 } if(!m_pSocketConnect(m_strServer,9999)) //連接至服務(wù)器 { AfxMessageBox(_T(連接服務(wù)器失?。。?!))。 m_pSocketClose()。 }(2)客戶(hù)端登陸至服務(wù)器,具體代碼如下: void CLoginDlg::OnOK() { UpdateData()。 } if(!m_pSocketListen()) //監(jiān)聽(tīng)客戶(hù)端的連接請(qǐng)求 { AfxMessageBox(_T(創(chuàng)建偵聽(tīng)發(fā)生錯(cuò)誤?。?!))。 if(!m_pSocketCreate(9999)) //創(chuàng)建套接字 { AfxMessageBox(_T(創(chuàng)建Socket失敗?。?!))。 CServerSocket *m_pSocket。 return FALSE。 根據(jù)以上步驟,對(duì)實(shí)現(xiàn)聊天工具的服務(wù)器和客戶(hù)端的關(guān)鍵代碼解說(shuō)如下。 由于客戶(hù)端/服務(wù)器模式,客戶(hù)在進(jìn)行聊天時(shí),需要把待發(fā)送的消息發(fā)送至服務(wù)器;服務(wù)器接收到消息后,經(jīng)過(guò)查詢(xún)客戶(hù)列表,尋找接受的客戶(hù)名后,將消息轉(zhuǎn)發(fā)至在線客戶(hù)處。 服務(wù)器運(yùn)行界面設(shè)計(jì) 客戶(hù)端登陸界面設(shè)計(jì) 客戶(hù)端運(yùn)行界面設(shè)計(jì)服務(wù)器和客戶(hù)端通過(guò)定義CSocket 類(lèi)的子類(lèi)來(lái)重載CSocket 類(lèi)中的成員函數(shù)完成服務(wù)器與客戶(hù)端之間的網(wǎng)絡(luò)通信。分別為其添加顯示信息和輸入信息的文本控件和按鈕,并為其指定適當(dāng)?shù)膶傩浴?蛻?hù)端流程圖如下??蛻?hù)端首先向服務(wù)器提出建立連接請(qǐng)求,然后建立一個(gè)套接字描述符,通過(guò)該描述符調(diào)用數(shù)據(jù)傳輸函數(shù)即可與服務(wù)端進(jìn)行數(shù)據(jù)的收發(fā)。服務(wù)器端流程圖如下。服務(wù)器方Socket()建立流式接字,返回套接字號(hào)s客戶(hù)方bind()套接字s與本地地址綁定listen()通知TCP服務(wù)器準(zhǔn)備接收連接accept()接收連接,等待客戶(hù)端的連接建立連接,accept()返回,得到新套接nsRecv()/send()在ns上讀/寫(xiě)數(shù)據(jù),直到完成交換closesocket(),關(guān)閉套接字nsclosesocket()關(guān)閉最初套接字s,服務(wù)結(jié)束Socket()建立流式套接字號(hào)sconnect()將套接字s與遠(yuǎn)程地址連接Recv()/send()在s上讀/寫(xiě)數(shù)據(jù),直到完成交換closesocket()關(guān)閉套接字s,結(jié)束TCP 面向連接的套接字的系統(tǒng)調(diào)用流程圖 模塊設(shè)計(jì) 服務(wù)器 首先運(yùn)行服務(wù)器,服務(wù)器偵聽(tīng)端口消息,等待客戶(hù)端向其建立連接的申請(qǐng),一旦接收到客戶(hù)端的連接請(qǐng)求,服務(wù)器將返回一個(gè)新的套接字描述符,通過(guò)該描述符調(diào)用數(shù)據(jù)傳輸函數(shù)即可與客戶(hù)端進(jìn)行數(shù)據(jù)的收發(fā)。交換完成后,服務(wù)器方/客戶(hù)方關(guān)閉套接字ns/s,最后服務(wù)器方通過(guò)closesocket()關(guān)閉最初套接字s,服務(wù)結(jié)束。首先在服務(wù)器方,利用socket()函數(shù)建立流式套接字,返回套接字號(hào)s,接著利用bind()函數(shù)將套接字s與本地地址綁定,緊接著利用listen(0函數(shù)通知TCP,監(jiān)聽(tīng)客戶(hù)方,服務(wù)器準(zhǔn)備接收連接,沒(méi)有連接的話,服務(wù)器方通過(guò)closesocket()關(guān)閉套接字s,服務(wù)結(jié)束。其他的Socket系統(tǒng)調(diào)用包括創(chuàng)建Socket、將創(chuàng)建的Socket與本地端口綁定、建立Socket連接服務(wù)器、監(jiān)聽(tīng)是否有連接、請(qǐng)求數(shù)據(jù)的可控緩沖發(fā)送和可控緩沖接收,到最后關(guān)閉Socket。如果服務(wù)器不在線,則客戶(hù)端會(huì)提示用戶(hù)退出,在一定的時(shí)間后自動(dòng)退出。如下圖所示: /服務(wù)器通信結(jié)構(gòu)示圖在客戶(hù)端啟動(dòng)后,客戶(hù)端計(jì)算得到本地網(wǎng)絡(luò)的廣播地址,進(jìn)行廣播查找服務(wù)器端,服務(wù)器接收到客戶(hù)端的廣播信息后返回服務(wù)器地址,則客戶(hù)端接收、驗(yàn)證信息并記錄服務(wù)器端地址,然后客戶(hù)端啟動(dòng)定時(shí)期,定時(shí)發(fā)送信息到服務(wù)器,以告知服務(wù)器自己在線,然后服務(wù)器返回在線用戶(hù)列表,服務(wù)器依靠客戶(hù)端發(fā)送的信息來(lái)更新維護(hù)在線用戶(hù)列表。在客戶(hù)發(fā)出一個(gè)請(qǐng)求之前,服務(wù)進(jìn)程一直處于休眠狀態(tài)。Client/Server模型最終可歸結(jié)為一種“請(qǐng)求/應(yīng)答”關(guān)系。尤其是網(wǎng)絡(luò)技術(shù)的發(fā)展,使得當(dāng)前很多系統(tǒng)都采用這種方式進(jìn)行構(gòu)造,其最大的優(yōu)點(diǎn)是將計(jì)算機(jī)工作任務(wù)分別由客戶(hù)端和服務(wù)器端來(lái)共同完成,這樣有利于充分合理的利用系統(tǒng)資源。有時(shí),可能有多個(gè)客戶(hù)向同一個(gè)服務(wù)器同時(shí)請(qǐng)求服務(wù),這就需要服務(wù)器決定怎樣處理這些請(qǐng)求。局域網(wǎng)上不同主機(jī)進(jìn)程間通信完全是異步的,通信時(shí)機(jī)具有隨機(jī)性,所以必須用這種為通信雙方的數(shù)據(jù)交換提供同步的機(jī)制。本系統(tǒng)采用C/S結(jié)構(gòu),最重要的特點(diǎn)是非對(duì)等相互作用,即客戶(hù)與服務(wù)器處于不平等的地位,服務(wù)器擁有客戶(hù)所不具備的硬軟件資源,客戶(hù)和服務(wù)器分別是服務(wù)的請(qǐng)求者和提供者。本系統(tǒng)開(kāi)發(fā)環(huán)境采用Visual Studio 2008。有連接的話,在客戶(hù)方,通過(guò)socket()函數(shù)建立流式套接字s,此時(shí)在服務(wù)器方,建立連接,通過(guò)accept()返回,得到新的套接字ns,客戶(hù)方通過(guò)connect()將套接字s與遠(yuǎn)程地址連接,此時(shí)服務(wù)器方/客戶(hù)方在ns/s上讀/寫(xiě)數(shù)據(jù),直到交換完成。Socket系統(tǒng)調(diào)用包括創(chuàng)建Socket、將創(chuàng)建的Socket與本地端口綁定、建立Socket連接服務(wù)器、監(jiān)聽(tīng)是否有連接、請(qǐng)求數(shù)據(jù)的可控緩沖發(fā)送和可控緩沖接收,到最后關(guān)閉Socket。在V
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1