123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #if !defined(AFX_DATASOCKET_H__38ADA982_DD96_4607_B7D2_982011F162FE__INCLUDED_)
- #define AFX_DATASOCKET_H__38ADA982_DD96_4607_B7D2_982011F162FE__INCLUDED_
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- class CConnectSocket;
- #define XFERMODE_IDLE 0
- #define XFERMODE_LIST 1
- #define XFERMODE_SEND 2
- #define XFERMODE_RECEIVE 3
- #define XFERMODE_ERROR 4
- class CDataSocket : public CAsyncSocket
- {
- public:
- CDataSocket(CConnectSocket *pSocket, int nTransferType = 0);
- virtual ~CDataSocket();
- virtual void OnSend(int nErrorCode);
- virtual void OnConnect(int nErrorCode);
- virtual void OnClose(int nErrorCode);
- virtual void OnReceive(int nErrorCode);
- virtual void OnAccept(int nErrorCode);
- void SetRestartOffset(DWORD dwOffset);
- void SetTransferType(int nType, BOOL bWaitForAccept = FALSE);
- void SetData(LPCTSTR lpszData);
-
- int GetStatus();
- protected:
- int Receive();
- BOOL PrepareReceiveFile(LPCTSTR lpszFilename);
- BOOL PrepareSendFile(LPCTSTR lpszFilename);
- public:
- CFile m_File;
- protected:
- DWORD m_dwRestartOffset;
- BOOL m_bConnected;
- BOOL m_bInitialized;
-
- DWORD m_nTotalBytesTransfered; //已传输的长度
- DWORD m_nTotalBytesReceive; //接收长度
- DWORD m_nTotalBytesSend; //要发送的总长度
- int m_nTransferType; //传输类型
- CString m_strData; //要传输的数据
- int m_nStatus; //状态
- CConnectSocket* m_pConnectSocket;
- };
- #endif // AFX_DATASOCKET_H__38ADA982_DD96_4607_B7D2_982011F162FE__INCLUDED_
|