#include
#include
#include
class SocClient {
public:
SocClient();
~SocClient();
public:
int OpenSocket(int domain, int type, int protocol);
int BindSocket(const struct sockaddr *addr, socklen_t addrlen);
int ListenSocket(int backlog);
int ConnectSocket(const struct sockaddr *addr, socklen_t addrlen);
ssize_t Send(const void *buf, size_t len, int flags);
ssize_t Recv(void *buf, size_t len, int flags);
ssize_t Sendto(const void *buf, size_t len, int flags,
const struct sockaddr *dest_addr, socklen_t addrlen);
ssize_t Recvfrom(void *buf, size_t len, int flags,
struct sockaddr *src_addr, socklen_t *addrlen);
ssize_t Sendmsg(const struct msghdr *msg, int flags);
ssize_t Recvmsg(struct msghdr *msg, int flags);
protected:
//protected code here
private:
int fd;//socket fd;
}
SocClient::SocClient()
:fd(0)
{
}
SocClient::~SocClient()
{
if(fd)
close(fd);
}
int SocClient::OpenSocket(int domain, int type, int protocol)
{
//call system socket function
fd = socket(domain, type, protocol);
}
int SocClient::BindSocket(const struct sockaddr *addr, socklen_t addrlen)
{
return bind(fd, addr, addrlen);
}
剩下的自己实现。
我资料里有联系方式