91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 17KB
    文件類型: .zip
    金幣: 2
    下載: 2 次
    發布日期: 2021-05-25
  • 語言: C/C++
  • 標簽:

資源簡介

MFC基于TCP/IP協議的聊天室源代碼 (繼承CSocket) 集客戶端和服務器與一體;用戶界面友好;

資源截圖

代碼片段和文件信息

//?ClientSocket.cpp?:?implementation?file
//

#include?“stdafx.h“
#include?“TcpChatRoom.h“
#include?“ClientSocket.h“
#include?“TcpChatRoomDlg.h“


#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
//?CClientSocket

CClientSocket::CClientSocket()
{
m_aSessionIn=NULL;
m_aSessionOut=NULL;
m_sfSocketFile=NULL;
m_bInit=false;
m_bClose=false;

}

CClientSocket::~CClientSocket()
{
if(m_aSessionIn)
delete?m_aSessionIn;
if(m_aSessionOut)
delete?m_aSessionOut;
if(m_sfSocketFile)
delete?m_sfSocketFile;
}


//?Do?not?edit?the?following?lines?which?are?needed?by?ClassWizard.
#if?0
BEGIN_MESSAGE_MAP(CClientSocket?CSocket)
//{{AFX_MSG_MAP(CClientSocket)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
#endif //?0

/////////////////////////////////////////////////////////////////////////////
//?CClientSocket?member?functions

void?CClientSocket::OnReceive(int?nErrorCode)?
{
//?TODO:?Add?your?specialized?code?here?and/or?call?the?base?class
CSocket::OnReceive(nErrorCode);
do
{
CMessg?temp;
temp.Serialize(*m_aSessionIn);
m_dlg->m_sMsgList+=temp.m_strText;
m_dlg->SetDlgItemText(IDC_SHOWTEXTm_dlg->m_sMsgList);
int?linenum=((CEdit?*)(m_dlg->GetDlgItem(IDC_SHOWTEXT)))->GetLineCount();
((CEdit?*)(m_dlg->GetDlgItem(IDC_SHOWTEXT)))->LineScroll(linenum);
if(!m_dlg->m_bClient)
{
for(POSITION?pos=m_dlg->m_connectionList.GetHeadPosition();pos!=NULL;)
{
CClientSocket?*?t?=?(CClientSocket*)m_dlg->m_connectionList.GetNext(pos);
if(t->m_hSocket!=this->m_hSocket)
{
t->SendMessage(&temp);
}
}
}
}
while?(!m_aSessionIn->IsBufferEmpty());
}

void?CClientSocket::Init(CTcpChatRoomDlg?*?dlg)
{
m_sfSocketFile=?new?CSocketFile(this);
m_aSessionIn=new?CArchive(m_sfSocketFileCArchive::load);
m_aSessionOut=new?CArchive(m_sfSocketFileCArchive::store);
m_bClose=false;
this->m_dlg=dlg;
}
BOOL?CClientSocket::SendMessage(CMessg?*?msg)
{
if?(m_aSessionOut?!=?NULL)
{
msg->Serialize(*m_aSessionOut);
m_aSessionOut->Flush();
return?TRUE;
}
else
{
//對方關閉了連接
m_bClose=true;
CloseSocket();
m_dlg->CloseSessionSocket();
return?FALSE;
}
}


void?CClientSocket::CloseSocket()
{
if(m_aSessionIn)
{
delete?m_aSessionIn;
m_aSessionIn=NULL;
}
if(m_aSessionOut)
{
delete?m_aSessionOut;
m_aSessionOut=NULL;
}
if(m_sfSocketFile)
{
delete?m_aSessionOut;
m_sfSocketFile=NULL;
}
Close();
m_bInit=false;
m_bClose=true;
}

void?CClientSocket::OnClose(int?nErrorCode)?
{
//?TODO:?Add?your?specialized?code?here?and/or?call?the?base?class
m_bClose=true;
CloseSocket();
m_dlg->CloseSessionSocket();
CSocket::OnClose(nErrorCode);
}

int?CClientSocket::GetLocalHostName(CString?&sHostName) //獲得本地計算機名稱
{
char?szHostName[256];
int?nRetCode;
nRetCode=gethostname(

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-02-26?22:14??TcpChatRoom\
?????文件????????1104??2012-02-26?22:13??TcpChatRoom\CMessg.cpp
?????文件?????????544??2012-02-26?22:13??TcpChatRoom\CMessg.h
?????文件????????5931??2012-02-26?22:13??TcpChatRoom\ClientSocket.cpp
?????文件????????1858??2012-02-26?22:13??TcpChatRoom\ClientSocket.h
?????文件????????1322??2012-02-26?22:13??TcpChatRoom\ServerSocket.cpp
?????文件????????1328??2012-02-26?22:13??TcpChatRoom\ServerSocket.h
?????文件?????????213??2012-02-26?22:13??TcpChatRoom\StdAfx.cpp
?????文件????????1054??2012-02-26?22:13??TcpChatRoom\StdAfx.h
?????文件????????2133??2012-02-26?22:13??TcpChatRoom\TcpChatRoom.cpp
?????文件????????4645??2012-02-26?22:13??TcpChatRoom\TcpChatRoom.dsp
?????文件?????????547??2012-02-26?22:13??TcpChatRoom\TcpChatRoom.dsw
?????文件????????1379??2012-02-26?22:13??TcpChatRoom\TcpChatRoom.h
?????文件????????5884??2012-02-26?22:13??TcpChatRoom\TcpChatRoom.rc
?????文件????????7862??2012-02-26?22:13??TcpChatRoom\TcpChatRoomDlg.cpp
?????文件????????1842??2012-02-26?22:13??TcpChatRoom\TcpChatRoomDlg.h
?????目錄???????????0??2012-02-26?22:14??TcpChatRoom\res\
?????文件????????1078??2003-06-30?10:43??TcpChatRoom\res\TcpChatRoom.ico
?????文件?????????403??2012-02-26?22:13??TcpChatRoom\res\TcpChatRoom.rc2
?????文件?????????913??2012-02-26?22:13??TcpChatRoom\resource.h

評論

共有 條評論

相關資源