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

正文內(nèi)容

基于tcp協(xié)議網(wǎng)上聊天程序(存儲(chǔ)版)

  

【正文】 “l(fā)ucy”客戶(hù)下線后,“kitty”客戶(hù)運(yùn)行結(jié)果參考文獻(xiàn) [1],西安:西安電子科技大學(xué)出版社, [2] ++程序設(shè)計(jì)教程,北京:機(jī)械工業(yè)出版社, [3](第2版),北京:清華大學(xué)出版社, [4] (第二版),清華大學(xué)出版社 [5] 郎銳 C++ 網(wǎng)絡(luò)通信程序開(kāi)發(fā)指南,北京:機(jī)械工業(yè)出版社,第 20 頁(yè) 共 22 頁(yè)。 某用戶(hù)登錄或退出程序時(shí)都需要給服務(wù)器發(fā)送一個(gè)消息以通知其他用戶(hù)。 課程設(shè)計(jì)項(xiàng)目的雖然要求是獨(dú)立完成,但還是很多問(wèn)題的解決離不開(kāi)老師的指導(dǎo)及同學(xué)之間的探討,這些在做項(xiàng)目的時(shí)候都是必不可少的。在這段時(shí)間里體驗(yàn)了無(wú)數(shù)的酸甜苦辣,從解決不了細(xì)小問(wèn)題的苦惱到問(wèn)題最終解決的喜悅。39。 m_pSocketReceive(buff, sizeof(buff),0)。 CString strTemp = t + : + thism_strName + 離開(kāi)\r\n。 strTemp += _T(\r\n)。 while (pos != NULL) //將消息發(fā)至在線客戶(hù) { curr = (CClientSocket *)clistGetNext(pos)。 //顯示登錄信息 p_EditReplaceSel(strTemp)。 char type = headertype。 CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT_MESSAGE)。 CTime time = CTime::GetCurrentTime()。} (4)客戶(hù)發(fā)送消息,先將消息發(fā)至服務(wù)器,具體代碼如下:void CMyChatDlg::OnSend() { UpdateData()。 memset(buff,0,sizeof(buff))。 //接受客戶(hù)登錄信息 CTime time = CTime::GetCurrentTime()。 memset(buff1, 0, sizeof(buff1))。 = LOGIN_IO。 }(2)客戶(hù)端登陸至服務(wù)器,具體代碼如下: void CLoginDlg::OnOK() { UpdateData()。 return FALSE。分別為其添加顯示信息和輸入信息的文本控件和按鈕,并為其指定適當(dāng)?shù)膶傩?。服?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ù)端會(huì)提示用戶(hù)退出,在一定的時(shí)間后自動(dòng)退出。尤其是網(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)資源。本系統(tǒng)開(kāi)發(fā)環(huán)境采用Visual Studio 2008。Bind()用來(lái)同服務(wù)器的地址綁定,如果一個(gè)主機(jī)只有一個(gè)IP地址,實(shí)際上綁定的作用就相對(duì)多余了。新建一個(gè)Socket]--Bind()[只要系統(tǒng)運(yùn)行,該進(jìn)程一直存在,直到正常終止或者強(qiáng)迫終止。服務(wù)完成后,關(guān)閉此新進(jìn)程與客戶(hù)的通信鏈路,并終止。它是軟件系統(tǒng)體系結(jié)構(gòu),通過(guò)它可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到Client端和Server端來(lái)實(shí)現(xiàn),降低了系統(tǒng)的通訊開(kāi)銷(xiāo)。 能夠查看聊天記錄。 聊天程序的功能客戶(hù)端使用簡(jiǎn)便,服務(wù)器端運(yùn)行穩(wěn)定。(2)客戶(hù)端具有圖形化用戶(hù)界面。 某用戶(hù)登錄或退出程序時(shí)都需要給服務(wù)器發(fā)送一個(gè)消息以通知其他用戶(hù)。 客戶(hù)機(jī)/服務(wù)器模式 C/S結(jié)構(gòu)(Client/Server結(jié)構(gòu))是大家熟知的客戶(hù)機(jī)和服務(wù)器結(jié)構(gòu)。新進(jìn)程處理此客戶(hù)請(qǐng)求,并不需要對(duì)其他請(qǐng)求做出應(yīng)答。 (2)服務(wù)進(jìn)程一般是先于客戶(hù)請(qǐng)求啟動(dòng)的。Socket減輕了編寫(xiě)計(jì)算機(jī)間通信軟件的難度;標(biāo)準(zhǔn)的Socket的應(yīng)用程序框架如下:Server方:Socket()[在新建一個(gè)Socket時(shí),可以指定新建何類(lèi)Socket。交換完成后,服務(wù)器方/客戶(hù)方關(guān)閉套接字ns/s,最后服務(wù)器方通過(guò)closesocket()關(guān)閉最初套接字s,服務(wù)結(jié)束。Client/Server結(jié)構(gòu)是當(dāng)前數(shù)據(jù)庫(kù)應(yīng)用程序中極為流行的一種方式。在客戶(hù)端與服務(wù)器盡心數(shù)據(jù)交換,擁有了在線用戶(hù)列表后,就可以選擇IP進(jìn)行客戶(hù)端之間的點(diǎn)對(duì)點(diǎn)信息交流了。 開(kāi)始 開(kāi)始 開(kāi)始 運(yùn)行客戶(hù)端 運(yùn)行客戶(hù)端 運(yùn)行客戶(hù)端 用戶(hù)登陸 用戶(hù)登陸 用戶(hù)登陸給服務(wù)器發(fā)送登陸消息登陸成功登陸成功向該用戶(hù)發(fā)送在線用戶(hù)列表登陸成功向該用戶(hù)發(fā)送在線用戶(hù)列表 否 是 顯示主頁(yè)面 顯示主頁(yè)面 顯示主頁(yè)面 是給服務(wù)器發(fā)送下線消息向其所有在線用戶(hù)發(fā)送消息向其所有在線用戶(hù)發(fā)送消息 是更新本地在線用戶(hù)列表更新本地在線用戶(hù)列表更新本地在線用戶(hù)列表與其他用戶(hù)進(jìn)行聊天與其他用戶(hù)進(jìn)行聊天與其他用戶(hù)進(jìn)行聊天 退出 退出 退出 客戶(hù)端流程圖 4 詳細(xì)設(shè)計(jì) 設(shè)計(jì)服務(wù)器和客戶(hù)端的界面
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1