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

正文內(nèi)容

基于udp協(xié)議的聊天工具的設(shè)計(jì)_研究生課程論文-文庫(kù)吧資料

2024-09-02 14:11本頁(yè)面
  

【正文】 Dlg) // No message handlers //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CChatDlg dialog CChatDlg::CChatDlg(CWnd* pParent /*=NULL*/) : CDialog(CChatDlg::IDD, pParent) { //{{AFX_DATA_INIT(CChatDlg) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()LoadIcon(IDR_MAINFRAME)。 // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP() }。 // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }。 } 以下是 中實(shí)現(xiàn)的代碼: // : implementation file // include include include ifdef _DEBUG define new DEBUG_NEW undef THIS_FILE static char THIS_FILE[] = __FILE__。 return FALSE。/*發(fā)送完后將編輯文本框設(shè)置為空。//發(fā)送數(shù)據(jù)。 */ sendto(m_socket,strSend,()+1,0, (SOCKADDR*)amp。 GetDlgItemText(IDC_EDIT_SEND,strSend)。 =htons(5000)。 =AF_INET。 SOCKADDR_IN addrTo。 ((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS1))GetAddress(dwIP)。 } 發(fā)送函數(shù) void CChatDlg::OnBtnSend() 12 { // TODO: Add your control notification handler code here DWORD dwIP。 SetDlgItemText(IDC_EDIT_RECV,str)。 str+=strTemp。 //讓新的數(shù)據(jù)加 1個(gè)換行。//從控件中得到文本。 //接收舊的數(shù)據(jù)。 //把 lParam轉(zhuǎn)換成字符型指針,然后賦給 str。 對(duì)于接收數(shù)據(jù)框來(lái)說(shuō) ,接收到的最新數(shù)據(jù)應(yīng)該放到最頂端,以前的數(shù)據(jù)應(yīng)該依次往下排列。 } return 0。 /*調(diào)用 i_ntoa, 將 發(fā)送端 IP地址轉(zhuǎn)換為點(diǎn)分十進(jìn)制字符串 */ //將接收到的數(shù)據(jù)傳遞給對(duì)話框。 } //如果無(wú)錯(cuò)誤,格式化 recvBuf,將格式化后的數(shù)據(jù)放入 tempBuf中。 if(retval==SOCKET_ERROR) /*如果返回 SOCKET_ERROR,調(diào)用break語(yǔ)句,終止循環(huán)。addrFrom,amp。 int retval。 char tempBuf[100]。 char recvBuf[100]。 */ int len=sizeof(SOCKADDR)。 SOCKADDR_IN addrFrom。 SOCKET sock=((RECVPARAM*)lpParameter)sock。 /*關(guān)閉新線程的句柄 ,遞減線程內(nèi)核對(duì)象的使用計(jì)數(shù)。 HANDLE hThread=CreateThread(NULL,0,RecvProc,(LPVOID)pRecvParam,0,NULL)。 //給結(jié)構(gòu)體變量 賦初 值 ,傳遞對(duì)話框句柄 pRecvParamsock=m_socket。 RECVPARAM *pRecvParam=new RECVPARAM。 } return TRUE。 return FALSE。 if(SOCKET_ERROR==retval) { closesocket(m_socket)。addrSock,sizeof(SOCKADDR))。 int retval。 =htonl(INADDR_ANY)。 //用網(wǎng)際域 =htons(5000)。 /* 定義 SOCKADDR_IN 類型結(jié)構(gòu)體addrSock*/ 9 //給結(jié)構(gòu)體里的各個(gè)變量進(jìn)行賦值。 return FALSE。 */ if(m_socket==INVALID_SOCKET) /*如果創(chuàng)建套接字失敗,則返回FALSE。 /*用變量 m_socket接收創(chuàng)建的套接字。 } InitSocket()函數(shù)用來(lái)初始化套接 字 ,并和本地信息進(jìn)行綁定 。 //為 0會(huì)有提示 return FALSE。
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1