📄 mysocket.h
字号:
/****************************************************
* 套接字基类
* 作者 gotter@163.com 2006-04-19
****************************************************/
#ifndef _MY_SOCKET_H_
#define _MY_SOCKET_H_
#include <netdb.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include "Public.h"
typedef int SOCKET;
#define INVALID_SOCKET -1
#define TIMEOUT_RECV 0x00000001
#define TIMEOUT_SEND 0x00000002
class CMySocket
{
protected:
SOCKET m_hSocket;
public:
CMySocket();
virtual CMySocket::~CMySocket();
int Create();
virtual int Close();
int Connect(const char *pszSvrAddr,unsigned nSvrPort);
int Connect(unsigned nSvrIp,unsigned nSvrPort);
int Recv(void *pvBuf, int iSize);
int RecvLine(char *pszDst,int iSize);
int Send(const void *pvBuf, int iSize);
int Send(const char *pszBuf);
int Sendf(const char *pszFormat,...);
int SetTimeout(int iTime,
unsigned nType=TIMEOUT_RECV|TIMEOUT_RECV);
int SetBlockMode(bool bBlock);
int Listen(unsigned nPort);
int Bind(unsigned nPort);
int Accept(CMySocket *pSock);
SOCKET Accept();
int Attach(SOCKET hSocket);
SOCKET Detach();
int SetOpt(int nOptName,void *pvOptVal,int iSize);
int GetOpt(int nOptName,void *pvOptVal);
static int AddrStr2Int(const char *pszAddr, unsigned &nIp);
static char *AddrInt2Str(unsigned nIp, char *pszAddr);
operator SOCKET(){return m_hSocket;}
};
#endif //_MY_SOCKET_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -