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

📄 socketobject.h

📁 主要用于http://www.doctorcom.com/开发的dr.com宽带记费系统
💻 H
字号:
#include<winsock2.h>
#include<ws2tcpip.h>
#include<mstcpip.h>
#include<string>
using namespace std;

enum SOCKTYPE
{
	sock_stream=SOCK_STREAM,
	sock_dgram=SOCK_DGRAM,
	sock_raw=SOCK_RAW
};

enum PROTOCAL
{
	ipproto_ip=IPPROTO_IP,
	ipproto_udp=IPPROTO_UDP,
	//ipproro_rm=IPPROTO_RM
};

enum AF
{
	af_unspec=AF_UNSPEC,
	af_inet=AF_INET,
	af_netbios=AF_NETBIOS,
	af_inet6=AF_INET6,
	af_irda=AF_IRDA
};

class SocketObject
{
public:
	SocketObject();
	~SocketObject();
	SOCKET        skSocket;
	bool Create(AF af,SOCKTYPE socktype,PROTOCAL protocal);
	bool Bind(int iPort);
	bool Listen(int waitnum=32);
	bool Accept(SocketObject& skAcceptSocket);
	bool Connect(char* szServerAddress,int iPort);
	int  Send(char* szBuffer,int iBuflen,int iFlags=0);
	int  Sendto(char* szBuffer,int iBufflen,char* addr,int port);
    int  Recv(char* szBuffer,int iBuflen,int iFlags=0);
	int  Recvfrom(char* szBuffer,int iBuflen);
	bool isAvailable();
	bool Setsockopt(int level,int optname,const char* optval,int optlen);
	void Disconnect();
	string GetIP();
private:
	sockaddr_in  saClientAddress;
	int          iClientSize;

};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -