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

正文內(nèi)容

基于udp協(xié)議的聊天工具的設(shè)計(jì)_研究生課程論文-全文預(yù)覽

2024-09-28 17:56 上一頁面

下一頁面
  

【正文】 oid CChatDlg::OnBtnSend() 12 { // TODO: Add your control notification handler code here DWORD dwIP。 str+=strTemp。//從控件中得到文本。 //把 lParam轉(zhuǎn)換成字符型指針,然后賦給 str。 } return 0。 } //如果無錯(cuò)誤,格式化 recvBuf,將格式化后的數(shù)據(jù)放入 tempBuf中。addrFrom,amp。 char tempBuf[100]。 */ int len=sizeof(SOCKADDR)。 SOCKET sock=((RECVPARAM*)lpParameter)sock。 HANDLE hThread=CreateThread(NULL,0,RecvProc,(LPVOID)pRecvParam,0,NULL)。 RECVPARAM *pRecvParam=new RECVPARAM。 return FALSE。addrSock,sizeof(SOCKADDR))。 =htonl(INADDR_ANY)。 /* 定義 SOCKADDR_IN 類型結(jié)構(gòu)體addrSock*/ 9 //給結(jié)構(gòu)體里的各個(gè)變量進(jìn)行賦值。 */ if(m_socket==INVALID_SOCKET) /*如果創(chuàng)建套接字失敗,則返回FALSE。 } InitSocket()函數(shù)用來初始化套接 字 ,并和本地信息進(jìn)行綁定 。 8 第六章 關(guān)鍵源程序 AfxSocketInit()是一個(gè) BOOL 型函數(shù),作用是初始化套接字,成功返回非0,不成功返回 0。后來通過網(wǎng)絡(luò)相關(guān)論壇的幫助,我才明白,原來 Windows 系統(tǒng)的防火墻對(duì)端口 6000 有限制,所以如果將套接字綁定在端口 6000 上,無法實(shí)現(xiàn)創(chuàng)建套接字,因此總是會(huì)不斷地失敗。 套接字 因?yàn)楸境绦蚴褂玫氖?UDP 協(xié)議,并將接收端和發(fā)送端集成在一個(gè)面上,所以從理論上說,該界面即是服務(wù)器,又是客戶端,而且基于 UDP 協(xié)議的聊天工具的套接字中并不需要監(jiān)聽和接受的步驟,彼此是點(diǎn)對(duì)點(diǎn)式的平等,也正是因此,所以可以將服務(wù)器和客戶端集成在一起。 傳遞的結(jié)構(gòu)體的代碼如下: struct RECVPARAM { SOCKET sock 。 多線程 由于該聊天工具是將利用 UDP 協(xié)議實(shí)現(xiàn)聊天功能,并將發(fā)送端和接收端(某種意義上也可以算是服務(wù)器和客戶端)集成在一起,為了將發(fā)送功能和接受功能同時(shí)實(shí)現(xiàn), 需要用到多線程技術(shù)。 簡(jiǎn)單流程圖 圖 11 建立連接 聊天(發(fā)送、接受信息) 結(jié) 束 2 第二章 概要設(shè)計(jì) 程序總體結(jié)構(gòu)圖 發(fā)送端 接收端 圖 21 發(fā)送 端 流程 圖 22 創(chuàng)建套接字 創(chuàng)建接收線程 實(shí)現(xiàn)線程函數(shù) 接受消息 消息轉(zhuǎn)換 輸入消息 顯示消息 發(fā)送消息 創(chuàng)建套接字 Bind 綁定 創(chuàng)建套接字 輸入消息 顯示消息 發(fā)送消息 3 接收 端 流程 圖 23 創(chuàng)建接收線程 實(shí)現(xiàn)線程函數(shù) 接受消息 消息轉(zhuǎn)換 創(chuàng)建套接字 Bind 綁定 4 第三章 詳細(xì)設(shè)計(jì) 界面設(shè)計(jì) 圖 31 說明:界面由一個(gè)對(duì)話框 ,兩個(gè)編輯框,一個(gè)按鈕和一個(gè) IP 地址編輯框組成。 界面的設(shè)計(jì)需求 本程序利用 UDP 協(xié)議來進(jìn)行通信,因此可以簡(jiǎn)單地將發(fā)送端和接收端集成在同一個(gè)對(duì)話框界面上,并可以通過利用多線程技術(shù)以保證接受信息功能的順暢。為了美觀和方便,在添加按鈕后,選中按鈕控件的 DEFAULT 和 VISIALBE 屬性,將其設(shè)定為不可見,并通過回車能夠?qū)崿F(xiàn)按鈕功能。并給這個(gè)線程函數(shù)傳遞兩個(gè)參數(shù),一個(gè)是已創(chuàng)建的套接字,一個(gè)是對(duì)話框空間的句柄,這樣,在該函數(shù)中,當(dāng)接到數(shù)據(jù)后,可以將該數(shù)據(jù)傳回給對(duì)話框,經(jīng)過處理后顯示在接受編輯框控件上。 編寫接受線程函數(shù),并在一定情況下啟動(dòng)線程,具體代碼請(qǐng)參閱附錄。 在編寫代碼的過程中,所用到的技術(shù)基本上都能夠從書上查到,并通過自己的揣摩能夠編寫,但是最后遇到了一個(gè)最大的問題,就是通過 的自網(wǎng)測(cè)試沒有問題,但是在不同電腦相互通信的時(shí)候,往往套接字創(chuàng)建失敗,這個(gè)問題一直困擾了我很長(zhǎng)的時(shí)間,不管我怎么看 代碼都找不出其中的原因。 這次課程設(shè)計(jì)是我和我的同學(xué)一起完成的,我們通過相互的
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1