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

正文內(nèi)容

計(jì)算機(jī)網(wǎng)絡(luò)課設(shè)設(shè)計(jì)報(bào)告-vs20xx_mfc基于對(duì)話框編程(參考版)

2025-01-24 18:50本頁(yè)面
  

【正文】 //按鈕變灰 } }18 。recv_thd, 0)。 } else { edit1ReplaceSel(_T(連接成功\r\n))。 } if (connect(sock, (struct sockaddr *) amp。 = htons(5150)。//取得服務(wù)器的IP地址 = inet_addr()。 CString ip。 //WSAStartup(0x0202, amp。 WSAStartup(wVersion, amp。 WORD wVersion。 } }添加連接按鈕實(shí)現(xiàn)函數(shù)OnBnClickedbtnconnect(): //連接到服務(wù)器 void C客戶端Dlg::OnBnClickedbtnconnect() { // TODO: 在此添加控件通知處理程序代碼 WSADATA wsaData。//消息上屏,清空輸入,并重獲焦點(diǎn) send_editSetWindowText(_T())。 } else if (s == ) { MessageBox(_T(請(qǐng)輸入信息))。 send_editGetWindowText(s)。 }4. 添加按鈕實(shí)現(xiàn)函數(shù)void C客戶端Dlg::OnBnClickedSend(): //發(fā)送按鈕 void C客戶端Dlg::OnBnClickedSend() { // TODO: 在此添加控件通知處理程序代碼 int n。 } } //closesocket(sock)。 (_T(serve: %s), msg)。 } else { msg[res] = 39。 while (1) { if ((res = recv(sock, msg, 1024, 0)) == 1) { dlgupdate(失去連接)。 CString s, strRecv。 } //添加線程函數(shù)recv_thd() UINT recv_thd(LPVOID p) { int res。 ip_editSetWindowText(_T())。 btnconn = (CButton *)GetDlgItem(IDC_btnConnect)。 在OnInitDialog()函數(shù)中添加: edit1 = (CEdit *)GetDlgItem(IDC_EDIT1)。 聲明線程函數(shù) CEdit *ip_edit。 CButton *btnconn。 :void update(CString s)。// MFC socket extensions//重獲焦點(diǎn) } }2) 客戶端: include//消息上屏 send_editSetWindowText(_T())。 } else if (s == ) { MessageBox(_T(請(qǐng)輸入信息))。 //msg = (char*)(())。 send_editGetWindowText(s)。 } } return 0。 (_T(client: %s), msg)。 } else { msg[res] = 39。 while (1) { if ((res = recv(sock, msg, 1024, 0)) == 1) { dlgupdate(失去連接)。 dlgupdate(已連接來(lái)自: + CString(inet_ntoa()) + 端口: +port)。 } else { CString port。client_addr, amp。 } listen(listen_sock, 1)。 } if (bind(listen_sock, (struct sockaddr*) amp。 // = htonl(INADDR_ANY)。 = htons(5150)。 C服務(wù)器Dlg * dlg = (C服務(wù)器Dlg *)AfxGetApp()GetMainWnd()。 int res。 SOCKADDR_IN client_addr。wsaData)。wsaData)。 wVersion = MAKEWORD(2, 2)。 } //添加線程函數(shù)server_thd() UINT server_thd(LPVOID p) { WSADATA wsaData。 return TRUE。 AfxBeginThread(amp。//獲得主機(jī)結(jié)構(gòu) IP = inet_ntoa(*(in_addr *)pHosth_addr)。 gethostname(name, 128)。 CString IP。 send_editSetFocus()。在OnInitDialog()函數(shù)中添加: show_edit = (CEdit *)GetDlgItem(IDC_EDIT1)。 聲明線程函數(shù) 新建兩個(gè)socket:SOCKET listen_sock。 pragma ment(lib,)include (加在include 之前) include :CEdit*show_edit。以后踏入社會(huì)崗位最重要的是一個(gè)人的自學(xué)能力,尤其計(jì)算機(jī)這個(gè)行業(yè)技術(shù)日新月異,是離不開(kāi)不斷地學(xué)習(xí)的,這次的課設(shè)就完美地鍛煉了我們的自學(xué)和動(dòng)手能力,對(duì)于未來(lái)的就業(yè)和科研都有著重大意義。對(duì)于這個(gè)設(shè)計(jì),也有一些不足,服務(wù)器和客戶端與現(xiàn)實(shí)中的功能有所差異,多客戶端與服務(wù)器發(fā)送消息之間存在問(wèn)題,還有待改進(jìn)。主要的錯(cuò)誤是兩端的IP地址不同,以及接收發(fā)送字符串長(zhǎng)度有錯(cuò)。初次調(diào)試,雖然沒(méi)有語(yǔ)法上的錯(cuò)誤,但因?yàn)檫壿嬪e(cuò)誤,兩端無(wú)法連接,初次調(diào)試以失敗告終。待得初步熟悉了這些新知識(shí)以后,回過(guò)來(lái)再看這次課設(shè)就不再是那么迷茫了,有了一個(gè)大概的思路之后,設(shè)計(jì)也進(jìn)入了正軌,從對(duì)話框設(shè)計(jì)再到服務(wù)器端客戶端設(shè)計(jì),雖然過(guò)程不是一帆風(fēng)順,但也是逐步推進(jìn)。(3) 代碼實(shí)現(xiàn)(見(jiàn)附錄1)四、測(cè)試結(jié)果 正常接收狀態(tài) 關(guān)閉服務(wù)器后五、總結(jié)與展望這次課程設(shè)計(jì)和之前大不相同,很多知識(shí)都是第一次接觸,例如MFC、SOCKET網(wǎng)絡(luò)編程等等。(2) 客戶端界面設(shè)計(jì) 在客戶端端添加三個(gè)Edit:一個(gè)顯示窗口IDC_EDIT1(點(diǎn)擊右鍵選擇PropertiesStyles,選中Multiline,Vertical scroll、Readonly三項(xiàng)),一個(gè)輸入窗口IDC_EDIT2,一個(gè)IP地址輸入窗口IDC_EDIT3。(1) 服務(wù)器端界面設(shè)計(jì) 在服務(wù)器端添加兩個(gè)Edit:一個(gè)顯示窗口IDC_EDIT1(點(diǎn)擊右鍵選擇PropertiesStyles,選中Multiline,Vertical scroll、Readonly三項(xiàng)),一個(gè)輸入窗口IDC_EDIT2。 l l 終端與服務(wù)器通信采用 UDP 方式。42(5) 服務(wù)器終端命令列表 序號(hào) 數(shù)據(jù)包類型 序號(hào)數(shù)據(jù)包類型命令碼 1B說(shuō)明1確認(rèn)包0x13網(wǎng)絡(luò)其中確認(rèn)包格式如下 命令碼 1B幀號(hào) 1B發(fā)送方時(shí)間 7B0x13被確認(rèn)的幀號(hào)YYYYMMDDhhmmss(BCD碼) (6) 終端與服務(wù)器通信過(guò)程的說(shuō)明: l l 終端每隔一定時(shí)間(默認(rèn)為 10 秒)發(fā)送一個(gè)數(shù)據(jù)上傳包,服務(wù)器收到數(shù)據(jù)上傳包后,返回確認(rèn)包; l l 服務(wù)器在規(guī)定的數(shù)據(jù)上傳等待計(jì)時(shí)長(zhǎng)度時(shí)間內(nèi)(默認(rèn)為 1 分鐘)沒(méi)有收到終端的任何信息,則認(rèn)為該終端不在線(即離線)。 命令:小于 128,大于 128 為異常命令,即異常命令=0x80+命令。 178。 178。 校驗(yàn)和:CRC32 校驗(yàn),只是對(duì)版本號(hào)到數(shù)據(jù)部分的字節(jié)內(nèi)容加校驗(yàn),即信息頭和 結(jié)束標(biāo)志部分不在校驗(yàn)之列,校驗(yàn)算法見(jiàn)本文檔最后部分。 178。 178。2 字節(jié)。 178。 178。 幀號(hào),取值范圍 1~255;一般一種命令包組織成一個(gè)幀,也可以稱其為邏輯幀,內(nèi) 容強(qiáng)調(diào)其邏輯上的完整性。 二、 終端與服務(wù)器之間通信協(xié)議 (1)幀格式(固定部分 13B+數(shù)據(jù)部分[幀長(zhǎng)]) 信息頭2B版本號(hào)1B幀長(zhǎng)2B類型1B幀號(hào)1B數(shù)據(jù)校驗(yàn)和4B結(jié)束標(biāo)志 2B0xFFFFCRC320xFFF7其中: 178。返回:返回讀入的字節(jié)數(shù)---成功   1---失敗前3個(gè)參數(shù)與read()相同,參數(shù)flags是傳輸控制標(biāo)志。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1