📄 basedatahandle.cpp
字号:
//---------------------------------------------------------------------------
#pragma hdrstop
#include "BaseDataHandle.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
InitCom::InitCom()
{
m_bInitSucceed = SUCCEEDED(CoInitialize(NULL));
}
InitCom::~InitCom()
{
if(m_bInitSucceed)
::CoUninitialize();
}
BOOL InitCom::operator ! ()
{
return !m_bInitSucceed;
}
PChar::PChar()
:m_pStr(NULL)
{
}
PChar::PChar(char *p)
{
_ASSERT(p);
m_pStr = p;
}
PChar:: ~PChar()
{
if(m_pStr)
delete []m_pStr;
}
void PChar::Attach(char *p)
{
if(m_pStr)
delete []m_pStr;
m_pStr = p;
}
PChar::operator char * ()
{
return m_pStr;
}
int sendn(SOCKET sock , char *pBuff , int len)
{
int nSendLength , nSize;
nSize = len;
while(nSize > 0)
{
nSendLength = send(sock , pBuff , nSize , 0);
if(nSendLength < 0)
{
return -1;
}
if(nSendLength == 0)
{
return len - nSize;
}
nSize -= nSendLength;
pBuff += nSendLength;
}
return len;
}
int readn(SOCKET sock , char *pBuff , int len)
{
int nSize = len;
int nReadLength;
while(nSize > 0)
{
nReadLength = recv(sock , pBuff , nSize , 0);
if(nReadLength < 0)
{
return -1;
}
if(nReadLength == 0)
{
return len - nSize;
}
nSize -= nReadLength;
pBuff += nReadLength;
}
return len;
}
CInitSocket::CInitSocket()
{
m_bInitSucceed = (WSAStartup(MAKEWORD(2,2) ,&m_wsaData) == 0);
}
CInitSocket::~CInitSocket()
{
if(m_bInitSucceed)
{
WSACleanup();
}
}
BOOL CInitSocket::operator ! ()
{
return !m_bInitSucceed;
}
CInitSocket::operator WSADATA * ()
{
return &m_wsaData;
}
MySocket::MySocket()
:m_Socket(INVALID_SOCKET)
{
}
MySocket::MySocket(int af, int type, int protocol)
{
m_Socket = socket(af , type , protocol);
}
MySocket::~MySocket()
{
if(m_Socket != INVALID_SOCKET)
{
closesocket(m_Socket);
}
}
MySocket::operator SOCKET ()
{
return m_Socket;
}
void MySocket::Attach(SOCKET sock)
{
_ASSERT(m_Socket == INVALID_SOCKET);
m_Socket = sock;
}
void MySocket::Close()
{
if(m_Socket != INVALID_SOCKET)
{
closesocket(m_Socket);
m_Socket = INVALID_SOCKET;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -