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

正文內(nèi)容

基于vc的聊天工具設(shè)計(jì)(西南科技大學(xué))-文庫(kù)吧

2025-06-08 04:09 本頁面


【正文】 鍵后聊天程序就要把這一行信息發(fā)送出去,才能及時(shí)地滿足用戶的交互需求。(3) 要隨時(shí)準(zhǔn)備好接受來自服務(wù)器的信息,隨時(shí)把接受到的信息顯示出來,讓用戶及時(shí)看到對(duì)方的響應(yīng)。(4) 在用戶退出聊天過程是要關(guān)閉與服務(wù)器的連接。比較好的做法是提前通知服務(wù)器或者直接給服務(wù)器發(fā)送一條退出通知,使得服務(wù)器能夠及時(shí)掌握客戶端的連接狀態(tài),把對(duì)方客戶的退出信息及時(shí)發(fā)送到對(duì)等實(shí)體上。客戶端聊天程序需要使用一個(gè)通過CSocket類派生出來的CChatSocket類來實(shí)現(xiàn)。該套接字用來發(fā)送一個(gè)與服務(wù)器的連接請(qǐng)求和維持與服務(wù)器的連接,發(fā)送和接收聊天信息,完成上述各項(xiàng)功能。 3設(shè)計(jì)流程圖,用戶首先啟動(dòng)客戶端,登陸服務(wù)器并向服務(wù)器發(fā)送信息,啟動(dòng)服務(wù)器,服務(wù)器等待客戶要求并向客戶反饋在線用戶信息,用戶向服務(wù)器發(fā)送信息,服務(wù)器處理用戶的數(shù)據(jù),然后用戶開始聊天??蛻舳说牧奶旆譃閷?duì)所有人的信息和私聊的信息,該信息應(yīng)通過程序控制分別進(jìn)行處理。啟動(dòng)登陸等待客戶端登陸客戶端用戶創(chuàng)建子套接字MessageCListenSocketCClientSocketMessage登陸成功連接上發(fā)送message顯示找到客戶端并顯示登陸失敗發(fā)送ID和IP 設(shè)計(jì)流程圖 4 調(diào)試分析過程描述Login服務(wù)器:在啟動(dòng)聊天室服務(wù)端的時(shí)候,該界面為服務(wù)器的登陸界面。啟動(dòng)服務(wù)器:在登陸頁面的環(huán)境下,點(diǎn)擊啟動(dòng)服務(wù)器按鈕,即可創(chuàng)建一個(gè)新的服務(wù)器。 啟動(dòng)服務(wù)器界面Login客戶端:在啟動(dòng)客戶端服務(wù)端的時(shí)候,該界面為客戶端的連接界面。 登陸客戶端界面,輸入用戶名張三: 輸入名稱張三 ,在輸入用戶名張三并點(diǎn)擊確定后,出現(xiàn)如下界面: 張三登陸服務(wù)器,在李四連接后,張三和李四用戶同時(shí)出現(xiàn)在用戶列表內(nèi): 李四登陸服務(wù)器,在王五連接后,張三,李四和王五用戶同時(shí)出現(xiàn)在用戶列表內(nèi): 王五登陸服務(wù)器服務(wù)器顯示:在張三,李四,.: 用戶成功登陸后界面開始聊天,群聊: 聊天界面。張三與李四私聊:點(diǎn)擊私聊選項(xiàng),并發(fā)送私聊內(nèi)容。 張三私聊界面,李四和張三私聊,張三能看到李四發(fā)送的內(nèi)容: 李四私聊界面,王五看不到張三和李四的私聊內(nèi)容: 非私聊對(duì)象界面 5 設(shè)計(jì)的總結(jié)和體會(huì)該次課程設(shè)計(jì)的制作我主要是參照了圖書館內(nèi)的相關(guān)書籍,找到一個(gè)類似的程序,然后按照書上的內(nèi)容一步步的做出來了,雖然這個(gè)程序算不上是我自己寫出來的,但通過這樣的一個(gè)過程,還是讓我學(xué)會(huì)了很多東西,也算能比較熟練地掌握MFC這一個(gè)軟件了,這算是一個(gè)不小的收獲吧,而且,在做這個(gè)程序的過程中,讓我認(rèn)識(shí)到了在做這樣程序中,遇到解決不了的問題與同學(xué)的討論時(shí)很重要的,譬如可以以運(yùn)行,但是就是無法出現(xiàn)連接的顯示和狀態(tài)。最后與同學(xué)討論后,才知道是服務(wù)器端有了錯(cuò)誤,沒有設(shè)置自己的IP地址,然后對(duì)于客戶端進(jìn)行了一番修改,才終于出現(xiàn)了上述的結(jié)果。雖然沒有徹底做的出來,但是還是比較開心的,因?yàn)樽约褐懒四睦锊蛔?,哪里不可以,可以在以后多多的做練?xí)來充實(shí)自己。在課程設(shè)計(jì)過程中,收獲知識(shí),提高能力的同時(shí),我也學(xué)到了很多人生的哲理,懂得怎么樣去制定計(jì)劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過程中怎么樣去克服心理上的不良情緒。因此在以后的生活和學(xué)習(xí)的過程中,我一定會(huì)把課程設(shè)計(jì)的精神帶到生活中,不畏艱難,勇往直前!我以后還是需要多多的練習(xí),多多的勤奮,這樣才有可能讓自己有信心,有動(dòng)力,讓自己不至于懂的太少而怯場(chǎng),因?yàn)椴欢粫?huì)做,相信自己以后會(huì)編寫出讓自己滿意的程序和軟件的。 6 參考文獻(xiàn)[1] 任泰明著. TCP/IP協(xié)議與網(wǎng)絡(luò)編程. 西安電子科技大學(xué)出版社. 2004[2] 唐克著. MFC程序設(shè)計(jì):Using Visual C++ . 北京希望電子出版社. 2002[3] 鄧全良著. Winsock網(wǎng)絡(luò)程序設(shè)計(jì). 中國(guó)鐵道出版社. 2002[4]《Visual C++》 清華大學(xué)出版社,木林森、高峰霞、羅麗瓊、奚紅宇編著[5]《Visual c++ 實(shí)用教程(第三版) 鄭阿奇 , 電子工業(yè)出版社 附:源代碼I服務(wù)器:// : implementation file//include include include ifdef _DEBUGdefine new DEBUG_NEWundef THIS_FILEstatic char THIS_FILE[ ] = __FILE__。endif/////////////////////////////////////////////////////////////////////////////// CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialog{public: CAboutDlg()。protected: DECLARE_MESSAGE_MAP()}。CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD){}void CAboutDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX)。}BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)END_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CServerDlg dialogCServerDlg::CServerDlg(CWnd* pParent /*=NULL*/) : CDialog(CServerDlg::IDD, pParent){ m_hIcon = AfxGetApp()LoadIcon(IDI_ICONAPP)。}void CServerDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX)。 DDX_Control(pDX, IDC_LIST_USER, m_lbUser)。 DDX_Text(pDX, IDC_EDIT_DISPLAY, m_strDisplay)。}BEGIN_MESSAGE_MAP(CServerDlg, CDialog) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BN_START, OnBnStart) ON_BN_CLICKED(IDC_BN_CLOSE, OnBnClose) ON_MESSAGE(WM_RECEIVE, OnReceive) ON_MESSAGE(WM_CLIENTCLOSE, OnClientClose) ON_MESSAGE(WM_ACCEPT, OnAccept) ON_WM_DESTROY()END_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CServerDlg message handlersBOOL CServerDlg::OnInitDialog(){ CDialog::OnInitDialog()。 ASSERT((IDM_ABOUTBOX amp。 0xFFF0) == IDM_ABOUTBOX)。 ASSERT(IDM_ABOUTBOX 0xF000)。 CMenu* pSysMenu = GetSystemMenu(FALSE)。 if (pSysMenu != NULL) { CString strAboutMenu。 (IDS_ABOUTBOX)。 if (!()) { pSysMenuAppendMenu(MF_SEPARATOR)。 pSysMenuAppendMenu(MF_STRING, IDM_ABOUTBO
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1