一个实现点对点文件传输的例子,服务器端和客户端切换方便。。。。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1885 2003-08-10 01:34 filetransfersClientSocket.cpp
文件 1504 2003-08-02 05:06 filetransfersClientSocket.h
文件 22484 2008-09-12 13:40 filetransfersFileTransfers.aps
文件 2007 2009-05-11 10:40 filetransfersFileTransfers.clw
文件 2255 2003-08-05 01:07 filetransfersFileTransfers.cpp
文件 4680 2003-08-09 00:19 filetransfersFileTransfers.dsp
文件 549 2003-08-05 01:07 filetransfersFileTransfers.dsw
文件 1401 2003-08-05 01:07 filetransfersFileTransfers.h
文件 156672 2009-05-11 10:52 filetransfersFileTransfers.ncb
文件 1235 2007-07-10 00:32 filetransfersFileTransfers.plg
文件 7017 2007-07-10 00:25 filetransfersFileTransfers.rc
文件 22414 2007-07-10 00:32 filetransfersFileTransfersDlg.cpp
文件 2750 2003-08-10 22:50 filetransfersFileTransfersDlg.h
文件 964 2003-08-06 00:09 filetransfersListenSocket.cpp
文件 1299 2003-08-09 03:12 filetransfersListenSocket.h
文件 740 2003-08-09 18:13 filetransfersMessage.cpp
文件 281 2003-07-29 19:07 filetransfersMessage.h
文件 3705 2003-08-05 01:07 filetransfersReadMe.txt
文件 1288 2003-08-05 01:13 filetransfersResource.h
文件 215 2003-08-05 01:07 filetransfersStdAfx.cpp
文件 1102 2003-08-09 03:13 filetransfersStdAfx.h
文件 1078 2003-08-05 01:07 filetransfers
esFileTransfers.ico
文件 405 2003-08-05 01:07 filetransfers
esFileTransfers.rc2
文件 36864 2003-08-10 01:57 filetransfersReleaseFileTransfers.exe
文件 15533 2007-07-10 00:16 filetransfersDebugClientSocket.obj
文件 135236 2007-07-10 00:32 filetransfersDebugFileTransfers.exe
文件 357488 2007-07-10 00:32 filetransfersDebugFileTransfers.ilk
文件 14829 2007-07-10 00:16 filetransfersDebugFileTransfers.obj
文件 5570940 2007-07-10 00:16 filetransfersDebugFileTransfers.pch
文件 451584 2007-07-10 00:32 filetransfersDebugFileTransfers.pdb
............此处省略15个文件信息
// ClientSocket.cpp : implementation file
//
#include “stdafx.h“
#include “FileTransfers.h“
#include “ClientSocket.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CClientSocket
CClientSocket::CClientSocket(CFileTransfersDlg* pdlgMain)
{
m_pdlgMain = pdlgMain;
m_pFile = NULL;
m_pArchiveIn = NULL;
m_pArchiveOut = NULL;
}
CClientSocket::CClientSocket()
{
m_pdlgMain = NULL;
m_pFile = NULL;
m_pArchiveIn = NULL;
m_pArchiveOut = NULL;
}
CClientSocket::~CClientSocket()
{
}
// 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::Init()
{
m_pFile = new CSocketFile(this);
m_pArchiveIn = new CArchive(m_pFileCArchive::load);
m_pArchiveOut = new CArchive(m_pFileCArchive::store);
}
void CClientSocket::Abort()
{
if (m_pArchiveOut != NULL)
{
m_pArchiveOut->Abort();
delete m_pArchiveOut;
m_pArchiveOut = NULL;
}
}
BOOL CClientSocket::SendMsg(CMessage *pMsg)
{
if (m_pArchiveOut != NULL)
{
TRY
{
pMsg->Serialize(*m_pArchiveOut);
m_pArchiveOut->Flush();
return TRUE;
}
CATCH(CFileException e)
{
m_pArchiveOut->Abort();
delete m_pArchiveOut;
m_pArchiveOut = NULL;
}
END_CATCH
}
return FALSE;
}
void CClientSocket::ReceiveMsg(CMessage *pMsg)
{
pMsg->Serialize(*m_pArchiveIn);
}
void CClientSocket::OnReceive(int nErrorCode)
{
m_pdlgMain->ProcessReceive(this);
CSocket::OnReceive(nErrorCode);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1885 2003-08-10 01:34 filetransfersClientSocket.cpp
文件 1504 2003-08-02 05:06 filetransfersClientSocket.h
文件 22484 2008-09-12 13:40 filetransfersFileTransfers.aps
文件 2007 2009-05-11 10:40 filetransfersFileTransfers.clw
文件 2255 2003-08-05 01:07 filetransfersFileTransfers.cpp
文件 4680 2003-08-09 00:19 filetransfersFileTransfers.dsp
文件 549 2003-08-05 01:07 filetransfersFileTransfers.dsw
文件 1401 2003-08-05 01:07 filetransfersFileTransfers.h
文件 156672 2009-05-11 10:52 filetransfersFileTransfers.ncb
文件 1235 2007-07-10 00:32 filetransfersFileTransfers.plg
文件 7017 2007-07-10 00:25 filetransfersFileTransfers.rc
文件 22414 2007-07-10 00:32 filetransfersFileTransfersDlg.cpp
文件 2750 2003-08-10 22:50 filetransfersFileTransfersDlg.h
文件 964 2003-08-06 00:09 filetransfersListenSocket.cpp
文件 1299 2003-08-09 03:12 filetransfersListenSocket.h
文件 740 2003-08-09 18:13 filetransfersMessage.cpp
文件 281 2003-07-29 19:07 filetransfersMessage.h
文件 3705 2003-08-05 01:07 filetransfersReadMe.txt
文件 1288 2003-08-05 01:13 filetransfersResource.h
文件 215 2003-08-05 01:07 filetransfersStdAfx.cpp
文件 1102 2003-08-09 03:13 filetransfersStdAfx.h
文件 1078 2003-08-05 01:07 filetransfers
esFileTransfers.ico
文件 405 2003-08-05 01:07 filetransfers
esFileTransfers.rc2
文件 36864 2003-08-10 01:57 filetransfersReleaseFileTransfers.exe
文件 15533 2007-07-10 00:16 filetransfersDebugClientSocket.obj
文件 135236 2007-07-10 00:32 filetransfersDebugFileTransfers.exe
文件 357488 2007-07-10 00:32 filetransfersDebugFileTransfers.ilk
文件 14829 2007-07-10 00:16 filetransfersDebugFileTransfers.obj
文件 5570940 2007-07-10 00:16 filetransfersDebugFileTransfers.pch
文件 451584 2007-07-10 00:32 filetransfersDebugFileTransfers.pdb
............此处省略15个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)