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

正文內(nèi)容

計算機網(wǎng)絡(luò)課設(shè)-基于tcp協(xié)議編程的網(wǎng)絡(luò)聊天室(編輯修改稿)

2025-06-10 13:14 本頁面
 

【文章內(nèi)容簡介】 pUserDataszUserName),pUserLogonszUserName)。 _sntprintf_s(pUserDataszPassWord,CountArray(pUserDataszPassWord),pUserLogonszPassWord)。 //更新綁定數(shù)據(jù) CTCPSocketItemMap::iterator iter = (hSocket)。 if ( iter != () ) iterseconddwUserID = pUserDatadwUserID。 //群發(fā)登陸消息 SendUserItem(NULL,pUserData)。 //發(fā)送在線用戶 CUserItemArray::iterator pUserItemSend = m_pUserManagerGetUserItemArray()begin()。 for (。pUserItemSend!=m_pUserManagerGetUserItemArray()end()。pUserItemSend++ ) SendUserItem(pTCPSocketService,pUserItemSendsecond)。 //插入數(shù)據(jù) m_pUserManagerInsertUserItem(pUserData)。 return true。 } } break。 case MDM_GP_USER: { if ( wSubCmdID == SUB_CS_USERT_CHAT ) { //獲取數(shù)據(jù) CMD_CS_CHATMSG *pCHATMSG = (CMD_CS_CHATMSG*)pData。 //這里其實需要做很多的效驗,如dwSendUserID的有效性,字符串是否為空等,這里就不做這些效驗了 CMD_SC_CHATMSG _SC_CHATMSG。 ZeroMemory(amp。_SC_CHATMSG,sizeof _SC_CHATMSG)。 //獲取時間 GetLocalTime(amp。)。 _sntprintf_s(,CountArray(),m_pUserManagerGetUserName(iterseconddwUserID))。 _sntprintf_s(,CountArray(),pCHATMSGszDescribe)。 SendDataBatch(MDM_GP_USER,SUB_CS_USERT_CHAT,amp。_SC_CHATMSG,sizeof _SC_CHATMSG)。 return true。 } } break。 } return false。}當(dāng)服務(wù)器端有人退出登錄時的代碼://客戶端退出時,服務(wù)器端獲取用戶名并群發(fā)退出消息,再在鏈表中刪除該用戶的數(shù)據(jù),清理他的Socketvoid CSpeakerServerDlg::OnClose(SOCKET hSocket){ CTCPSocketItemMap::iterator iter = (hSocket)。 if ( iter == () ) return。 //獲取用戶 (TraceLevel_Normal,TEXT(%s退出了服務(wù)器),m_pUserManagerGetUserName(iterseconddwUserID))。 //刪除用戶 CMD_DC_DELETE _DC_DELETE。 ZeroMemory(amp。_DC_DELETE,sizeof _DC_DELETE)。 _sntprintf_s(,CountArray(),m_pUserManagerGetUserName(iterseconddwUserID))。 //群發(fā)消息 SendDataBatch(MDM_GP_USER,SUB_SC_DELETE,amp。_DC_DELETE,sizeof _DC_DELETE)。 //銷毀數(shù)據(jù) m_pUserManagerRemoveUserItem(iterseconddwUserID)。 itersecondpTCPSocketServiceClose()。 SafeDelete(itersecondpTCPSocketService)。 SafeDelete(itersecond)。 (iter)。} 關(guān)閉服務(wù)器連接代碼:void CSpeakerServerDlg::OnBnClickedStop(){ //關(guān)閉監(jiān)聽套接字 ()。 //關(guān)閉連接套接字 CTCPSocketItemMap::iterator iter = ()。 for (。iter != ()。 ++iter) { itersecondpTCPSocketServiceClose()。 SafeDelete(itersecondpTCPSocketService)。 SafeDelete(itersecond)。 } //更新界面 (TEXT(服務(wù)器關(guān)閉成功),TraceLevel_Normal)。 GetDlgItem(IDC_START)EnableWindow(TRUE)。 GetDlgItem(IDC_STOP)EnableWindow(FALSE)。}退出服務(wù)器代碼:void CSpeakerServerDlg::OnCancel(){ if ( != INVA
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1