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

  • 大小: 82KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-13
  • 語言: C/C++
  • 標(biāo)簽: Winsock??

資源簡介

《Visual C++網(wǎng)絡(luò)通信編程實(shí)用案例精選》配套源碼 Winsock實(shí)現(xiàn)網(wǎng)絡(luò)聊天室【\chap1\ChatRoom(Winsock)】 CSocket實(shí)現(xiàn)聊天室【\chap1\ChatRoom(Csocket)】

資源截圖

代碼片段和文件信息

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

#include?“stdafx.h“
#include?“Example2_ChatRoom.h“
#include?“ClientSocket.h“
#include?“Example2_ChatRoomDlg.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(CExample2_ChatRoomDlg?*?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
{
//對方關(guān)閉了連接
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) //獲得本地計(jì)算機(jī)名稱
{
char?szHostName[256];
int?nRetCode;
nRe

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????5949??2003-06-30?15:18??chap1\ChatRoom(Csocket)\ClientSocket.cpp

?????文件???????1882??2003-06-30?14:39??chap1\ChatRoom(Csocket)\ClientSocket.h

?????文件???????1104??2003-06-30?14:41??chap1\ChatRoom(Csocket)\CMessg.cpp

?????文件????????544??2003-06-30?14:39??chap1\ChatRoom(Csocket)\CMessg.h

?????文件??????21664??2003-12-08?15:42??chap1\ChatRoom(Csocket)\Example2_ChatRoom.aps

?????文件???????1906??2003-12-08?15:43??chap1\ChatRoom(Csocket)\Example2_ChatRoom.clw

?????文件???????2217??2003-06-30?10:43??chap1\ChatRoom(Csocket)\Example2_ChatRoom.cpp

?????文件???????4753??2003-06-30?15:02??chap1\ChatRoom(Csocket)\Example2_ChatRoom.dsp

?????文件????????559??2003-06-30?10:43??chap1\ChatRoom(Csocket)\Example2_ChatRoom.dsw

?????文件???????1445??2003-06-30?10:43??chap1\ChatRoom(Csocket)\Example2_ChatRoom.h

?????文件?????123904??2003-12-08?15:43??chap1\ChatRoom(Csocket)\Example2_ChatRoom.ncb

?????文件??????56832??2007-08-04?23:26??chap1\ChatRoom(Csocket)\Example2_ChatRoom.opt

?????文件???????1308??2003-12-08?15:42??chap1\ChatRoom(Csocket)\Example2_ChatRoom.plg

?????文件???????5963??2003-07-23?16:25??chap1\ChatRoom(Csocket)\Example2_ChatRoom.rc

?????文件???????8006??2003-07-23?16:28??chap1\ChatRoom(Csocket)\Example2_ChatRoomDlg.cpp

?????文件???????1908??2003-06-30?14:59??chap1\ChatRoom(Csocket)\Example2_ChatRoomDlg.h

?????文件???????3777??2003-06-30?10:43??chap1\ChatRoom(Csocket)\ReadMe.txt

?????文件???????1078??2003-06-30?10:43??chap1\ChatRoom(Csocket)\res\Example2_ChatRoom.ico

?????文件????????409??2003-06-30?10:43??chap1\ChatRoom(Csocket)\res\Example2_ChatRoom.rc2

?????文件????????925??2003-07-01?10:39??chap1\ChatRoom(Csocket)\resource.h

?????文件???????1340??2003-06-30?15:13??chap1\ChatRoom(Csocket)\ServerSocket.cpp

?????文件???????1346??2003-06-30?14:33??chap1\ChatRoom(Csocket)\ServerSocket.h

?????文件????????219??2003-06-30?10:43??chap1\ChatRoom(Csocket)\StdAfx.cpp

?????文件???????1054??2003-06-30?10:43??chap1\ChatRoom(Csocket)\StdAfx.h

?????文件???????1038??2003-06-27?20:26??chap1\ChatRoom(Winsock)\ChangeNameDlg.cpp

?????文件???????1253??2003-06-27?20:26??chap1\ChatRoom(Winsock)\ChangeNameDlg.h

?????文件???????1956??2003-06-27?19:52??chap1\ChatRoom(Winsock)\Client.cpp

?????文件????????811??2003-06-27?17:12??chap1\ChatRoom(Winsock)\Client.h

?????文件??????21992??2003-12-08?15:40??chap1\ChatRoom(Winsock)\Example1.aps

?????文件???????1753??2003-12-08?15:41??chap1\ChatRoom(Winsock)\Example1.clw

............此處省略29個(gè)文件信息

評論

共有 條評論