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

正文內(nèi)容

基于套接字的聊天程序設(shè)計(jì)-資料下載頁

2024-11-06 03:49本頁面

【導(dǎo)讀】1 蒅螂羄羋薇羈芃芇蠆螀腿莇螂羆肅莆蒁蝿羈蒞蚄羄羇莄螆袇芆莃蒆肂膂莂薈裊肈莁蝕肁羄莁螃襖節(jié)蒀蒂蚆膈葿薅袂肄蒈螇蚅肀蕆蕆羀羆蒆蕿螃芅蒅蟻羈膁蒅螄螁肇薄蒃羇羃薃薅螀芁薂蚈羅膇薁袀螈膃薀薀肅聿膇螞袆羅膆螄肂芄膅蒄襖膀膄薆肀肆芃蠆袃芃螁蚆芁節(jié)薁袁芆芁蚃螄膂芀螅罿肈艿蒅螂羄羋薇羈芃芇蠆螀腿莇螂羆肅莆蒁蝿羈蒞蚄羄羇莄螆袇芆莃蒆肂膂莂薈裊肈莁蝕肁羄莁螃襖節(jié)蒀蒂蚆膈葿薅袂肄蒈螇蚅肀蕆蕆羀羆蒆蕿螃芅蒅蟻羈膁蒅螄螁肇薄蒃羇羃薃薅螀芁薂蚈羅膇薁袀螈膃薀薀肅聿膇螞袆羅膆螄肂芄膅蒄襖膀膄薆肀肆芃蠆袃芃螁蚆芁節(jié)薁袁芆芁蚃螄膂芀螅罿肈艿蒅螂羄羋薇羈芃芇蠆螀腿莇螂羆肅莆蒁蝿羈蒞蚄羄羇莄螆袇芆莃蒆肂膂莂薈裊肈莁蝕肁羄莁螃襖節(jié)蒀蒂蚆膈葿薅袂肄蒈螇蚅肀蕆蕆羀羆蒆蕿螃芅蒅蟻羈膁蒅螄螁肇薄蒃羇羃薃薅螀芁薂蚈羅膇薁袀螈膃薀薀肅聿膇螞袆羅膆螄肂芄膅蒄襖膀膄薆肀肆芃蠆袃芃螁蚆芁節(jié)薁袁芆芁蚃螄膂芀螅罿肈艿蒅螂羄羋薇羈芃芇蠆螀腿莇螂羆

  

【正文】 void OnReceive(int nErrorCode)。//接受數(shù)據(jù) int numUser。//表示當(dāng)前用戶數(shù)量 Cuser userArray[userMaxNum]。 //定義用戶數(shù)組 CUDPSocket*m_pSocket。 bool sameUser(Cuser user)。 //判斷用戶是已經(jīng)存在 19 / 39 void removeUser(CString id)。 //將退出的用戶從堆棧中移除 void UpdateUserInfo()。 //更新當(dāng)前用戶用戶 void send(CString type,CStringamp。 strData)。 //發(fā)送數(shù)據(jù) DWORD m_LocateIP。 // 本地綁定 IP int m_LocatePort。 // 地綁定端口號 CString m_ReceiveData。 // 接收數(shù)據(jù)使用 void Split_CString( CStringamp。 source,CStringArrayamp。 dest, const CStringamp。 division )。//字符串分割使用的 CString findUser( CStringamp。 name)。 //根據(jù)用戶名查找該用戶的 ip 和端口信息 }。 // // : 實(shí)現(xiàn)文件 // include include include include ifdef _DEBUG define new DEBUG_NEW endif const int DATA_BUFFER_LENGHT = 1024。 //定義數(shù)據(jù)塊的大小 // 用于應(yīng)用程序“關(guān)于”菜單項(xiàng)的 CAboutDlg 對話框 class CAboutDlg : public CDialogEx { public: CAboutDlg()。 // 對話框數(shù)據(jù) enum { IDD = IDD_ABOUTBOX }。 protected: virtual void DoDataExchange(CDataExchange* pDX)。 // DDX/DDV 支持 // 實(shí)現(xiàn) protected: DECLARE_MESSAGE_MAP() }。 20 / 39 CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD) { } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX)。 } BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) END_MESSAGE_MAP() // CCUDPServerDlg 對話框 CCUDPServerDlg::CCUDPServerDlg(CWnd* pParent /*=NULL*/) : CDialogEx(CCUDPServerDlg::IDD, pParent) , m_LocateIP(0) , m_LocatePort(0) , m_ReceiveData(_T()) { m_hIcon = AfxGetApp()LoadIcon(IDR_MAINFRAME)。 m_LocateIP = ntohl(i_addr())。 //初始化本地 IP m_LocatePort=5900。 thisnumUser=0。 //初始化用戶數(shù)量 } void CCUDPServerDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX)。 DDX_IPAddress(pDX, IDC_IPADDRESS, m_LocateIP)。 DDX_Text(pDX, IDC_Port, m_LocatePort)。 DDX_Text(pDX, IDC_Info, m_ReceiveData)。 } BEGIN_MESSAGE_MAP(CCUDPServerDlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() 21 / 39 ON_BN_CLICKED(IDC_Btn_Start, amp。CCUDPServerDlg::OnBnClickedBtnStart) ON_BN_CLICKED(IDC_Btn_Cancle, amp。CCUDPServerDlg::OnBnClickedBtnCancle) END_MESSAGE_MAP() // CCUDPServerDlg 消息處理程序 BOOL CCUDPServerDlg::OnInitDialog() { CDialogEx::OnInitDialog()。 // 將“關(guān)于 ...”菜單項(xiàng)添加到系統(tǒng)菜單中。 // IDM_ABOUTBOX 必須在系統(tǒng)命令范圍內(nèi)。 ASSERT((IDM_ABOUTBOX amp。 0xFFF0) == IDM_ABOUTBOX)。 ASSERT(IDM_ABOUTBOX 0xF000)。 CMenu* pSysMenu = GetSystemMenu(FALSE)。 if (pSysMenu != NULL) { BOOL bNameValid。 CString strAboutMenu。 bNameValid = (IDS_ABOUTBOX)。 ASSERT(bNameValid)。 if (!()) { pSysMenuAppendMenu(MF_SEPARATOR)。 pSysMenuAppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu)。 } } // 設(shè)置此對話框的圖標(biāo)。當(dāng)應(yīng)用程序主窗口不是對話框時(shí),框架將自動(dòng) // 執(zhí)行此操作 SetIcon(m_hIcon, TRUE)。 // 設(shè)置大圖標(biāo) SetIcon(m_hIcon, FALSE)。 // 設(shè)置小圖標(biāo) // TODO: 在此添加額外的初始化代碼 return TRUE。 // 除非將焦點(diǎn)設(shè)置到控件,否則返回 TRUE } void CCUDPServerDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID amp。 0xFFF0) == IDM_ABOUTBOX) 22 / 39 { CAboutDlg dlgAbout。 ()。 } else { CDialogEx::OnSysCommand(nID, lParam)。 } } // 如果向?qū)υ捒蛱砑幼钚』粹o,則需要下面的代碼 // 來繪制該圖標(biāo)。對于使用文檔 /視圖模型的 MFC 應(yīng)用程序, // 這將由框架自動(dòng)完成。 void CCUDPServerDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this)。 // 用于繪制的設(shè)備上下文 SendMessage(WM_ICONERASEBKGND, reinterpret_castWPARAM(()), 0)。 // 使圖標(biāo)在工作區(qū)矩形中居中 int cxIcon = GetSystemMetrics(SM_CXICON)。 int cyIcon = GetSystemMetrics(SM_CYICON)。 CRect rect。 GetClientRect(amp。rect)。 int x = (() cxIcon + 1) / 2。 int y = (() cyIcon + 1) / 2。 // 繪制圖標(biāo) (x, y, m_hIcon)。 } else { CDialogEx::OnPaint()。 } } //當(dāng)用戶拖動(dòng)最小化窗口時(shí)系統(tǒng)調(diào)用此函數(shù)取得光標(biāo) //顯示。 HCURSOR CCUDPServerDlg::OnQueryDragIcon() { 23 / 39 return static_castHCURSOR(m_hIcon)。 } //退出返回 void CCUDPServerDlg::OnBnClickedBtnCancle() { EndDialog(0)。 //退出界面 } //開啟服務(wù)器 void CCUDPServerDlg::OnBnClickedB
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1