文件名称:TCP 服务器端聊天
文件大小:4.32MB
文件格式:ZIP
更新时间:2016-07-08 07:56:09
TCP 聊天
基于服务器端聊天系统 //·þÎñÆ÷Ïß³Ì UINT thread(LPVOID p) { char buff[100]; CSize size; size.cx=0; size.cy=30; int s=1,msgcount,loop=1,flag=0; CCSocketDlg *dlg=(CCSocketDlg*)AfxGetApp()->GetMainWnd(); //»ñµÃ¿Í»§¶ËÊýÁ¿ msgcount=dlg->getcount(); if (msgcount==-1) loop=0; if(loop) { s=1; dlg->msgsock[msgcount]=accept(dlg->sock,(sockaddr*)&(dlg->serv),&(dlg->addlen)); if (dlg->msgsock[msgcount]==INVALID_SOCKET) { dlg->m_edit.SetWindowText("Error accept"); } else { //Æô¶¯Ïß³Ì AfxBeginThread(thread,0); dlg->SetForegroundWindow(); dlg->m_list.InsertItem(dlg->count++,"Á¬½Ó³É¹¦"); dlg->m_list.InsertItem(dlg->count++,inet_ntoa(dlg->serv.sin_addr)); dlg->m_list.Scroll(size); dlg->m_button.EnableWindow(TRUE); while(s!=SOCKET_ERROR) { //Ñ»·½ÓÊÕÊý¾Ý s=recv(dlg->msgsock[msgcount],buff,100,0); dlg->SetForegroundWindow(); if (s!=SOCKET_ERROR) { dlg->m_list.InsertItem(dlg->count++,buff); dlg->m_list.Scroll(size); dlg->sendtoall(dlg->msgsock[msgcount],buff); } } send(dlg->msgsock[msgcount],"Disconnected",100,0); dlg->m_list.InsertItem(dlg->count++,"Disconnected"); dlg->m_list.Scroll(size); dlg->msgsock[msgcount]=NULL; for (int i=0;i<50;i++) if (dlg->msgsock[i]!=NULL) flag=1; if (flag!=1) dlg->m_button.EnableWindow(FALSE); closesocket(dlg->msgsock[msgcount]); } } //ÖÕÖ¹Ïß³Ì AfxEndThread(0); return 0; }
【文件预览】:
TCP
----TCP聊天客户端()
--------CSocketcli.suo(9KB)
--------CSocketcli.clw(2KB)
--------CSocketcli.plg(2KB)
--------res()
--------CSocketcli.aps(21KB)
--------CSocketcli.ncb(129KB)
--------CSocketcli.sln(342B)
--------CSocketcli.h(1KB)
--------CSocketcli.dsp(4KB)
--------CSocketcli.opt(48KB)
--------CSocketcli.rc(6KB)
--------CSocketcli.cpp(2KB)
--------StdAfx.cpp(250B)
--------resource.h(963B)
--------StdAfx.h(1KB)
--------CSocketcliDlg.cpp(7KB)
--------CSocketcli.dsw(543B)
--------Debug()
--------CSocketcliDlg.h(2KB)
--------ReadMe.txt(4KB)
----TCP聊天服务器端()
--------CSocket.plg(2KB)
--------CSocket.ncb(65KB)
--------CSocket.rc(6KB)
--------CSocket.cpp(2KB)
--------CSocket.opt(54KB)
--------StdAfx.cpp(247B)
--------resource.h(822B)
--------CSocket.dsp(4KB)
--------CSocket.dsw(537B)
--------CSocketDlg.h(2KB)
--------StdAfx.h(1KB)
--------Debug()
--------CSocket.clw(1KB)
--------CSocket.h(1KB)
--------CSocketDlg.cpp(7KB)
--------ReadMe.txt(4KB)