⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mysocket.h

📁 在Linux下使用GCC编制的FTP服务器
💻 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 + -