LogSystem beta 1.4
This is a logging system project
 
载入中...
搜索中...
未找到
XuServer::TcpSocket类 参考

TCPSocket类 更多...

#include <Socket.hpp>

类 XuServer::TcpSocket 继承关系图:
XuServer::TcpSocket 的协作图:

Public 成员函数

 TcpSocket (int sockfd=DEFAULT_SOCKFD)
 构造函数。
 
 ~TcpSocket ()
 
void BuildListenSocketMethod (uint16_t port, int backlog=DEFAULT_BACKLOG)
 创建、绑定并监听Socket。
 
bool BuildConnectSockedMethod (std::string &serverip, uint16_t serverport)
 建立TCP客户端连接。
 
void BuildNormalSockMethod (int sockfd)
 设置已建立连接的Socket。
 
int GetSockFd ()
 获取当前Socket描述符。
 
void SetSockFd (int sockfd)
 设置Socket描述符。
 
void CloseSockFd ()
 关闭当前Socket。
 
bool Recv (std::vector< char > *buffer, int size=1024 *10)
 接收来自对端的数据。
 
void Send (const std::vector< char > &send_data)
 向对端发送数据。
 
TcpSocketAcceptConnection (std::string *peerip, uint16_t *peerport)
 接收新的TCP连接。
 
- Public 成员函数 继承自 XuServer::Socket
virtual ~Socket ()
 

Private 成员函数

void CreateSocketOrDie () override
 创建TCP Socket,若创建失败则终止程序。
 
void BindSocketOrDie (uint16_t port) override
 绑定TCP Socket到指定端口,若绑定失败则终止程序。
 
void ListenSocketOrDie (int backlog=DEFAULT_BACKLOG)
 监听TCP连接,若监听失败则终止程序。
 
bool ConnectServer (std::string &serverip, uint16_t serverport)
 连接到服务器。
 

Private 属性

int _sockfd
 Socket文件描述符。
 

详细描述

TCPSocket类

构造及析构函数说明

◆ TcpSocket()

XuServer::TcpSocket::TcpSocket ( int  sockfd = DEFAULT_SOCKFD)
inline

构造函数。

参数
sockfdsocket文件描述符,默认值为DEFAULT_SOCKFD。

◆ ~TcpSocket()

XuServer::TcpSocket::~TcpSocket ( )
inline

成员函数说明

◆ AcceptConnection()

TcpSocket * XuServer::TcpSocket::AcceptConnection ( std::string *  peerip,
uint16_t *  peerport 
)
inline

接收新的TCP连接。

参数
peerip存储对端的IP地址。
peerport存储对端的端口号。
返回
返回新的TcpSocket对象,表示新的连接,失败则返回nullptr。
这是这个函数的调用关系图:

◆ BindSocketOrDie()

void XuServer::TcpSocket::BindSocketOrDie ( uint16_t  port)
inlineoverrideprivatevirtual

绑定TCP Socket到指定端口,若绑定失败则终止程序。

参数
port要绑定的端口号。

实现了 XuServer::Socket.

这是这个函数的调用关系图:

◆ BuildConnectSockedMethod()

bool XuServer::TcpSocket::BuildConnectSockedMethod ( std::string &  serverip,
uint16_t  serverport 
)
inline

建立TCP客户端连接。

参数
serverip服务器的IP地址。
serverport服务器的端口号。
返回
若连接成功,返回true;否则返回false。
函数调用图:

◆ BuildListenSocketMethod()

void XuServer::TcpSocket::BuildListenSocketMethod ( uint16_t  port,
int  backlog = DEFAULT_BACKLOG 
)
inline

创建、绑定并监听Socket。

参数
port要绑定的端口号。
backlog监听队列长度,默认值为DEFAULT_BACKLOG。
函数调用图:
这是这个函数的调用关系图:

◆ BuildNormalSockMethod()

void XuServer::TcpSocket::BuildNormalSockMethod ( int  sockfd)
inline

设置已建立连接的Socket。

参数
sockfd已建立连接的Socket描述符。
函数调用图:

◆ CloseSockFd()

void XuServer::TcpSocket::CloseSockFd ( )
inline

关闭当前Socket。

这是这个函数的调用关系图:

◆ ConnectServer()

bool XuServer::TcpSocket::ConnectServer ( std::string &  serverip,
uint16_t  serverport 
)
inlineprivate

连接到服务器。

参数
serverip服务器的IP地址。
serverport服务器的端口号。
返回
成功返回true,失败返回false。
这是这个函数的调用关系图:

◆ CreateSocketOrDie()

void XuServer::TcpSocket::CreateSocketOrDie ( )
inlineoverrideprivatevirtual

创建TCP Socket,若创建失败则终止程序。

实现了 XuServer::Socket.

这是这个函数的调用关系图:

◆ GetSockFd()

int XuServer::TcpSocket::GetSockFd ( )
inline

获取当前Socket描述符。

返回
返回当前的Socket描述符。

◆ ListenSocketOrDie()

void XuServer::TcpSocket::ListenSocketOrDie ( int  backlog = DEFAULT_BACKLOG)
inlineprivate

监听TCP连接,若监听失败则终止程序。

参数
backlog监听队列长度,默认值为DEFAULT_BACKLOG。
这是这个函数的调用关系图:

◆ Recv()

bool XuServer::TcpSocket::Recv ( std::vector< char > *  buffer,
int  size = 1024 * 10 
)
inline

接收来自对端的数据。

参数
buffer存储接收到的数据的缓冲区。
size缓冲区大小,默认值为10KB。
返回
接收成功返回true,否则返回false。
这是这个函数的调用关系图:

◆ Send()

void XuServer::TcpSocket::Send ( const std::vector< char > &  send_data)
inline

向对端发送数据。

参数
send_data要发送的数据。
这是这个函数的调用关系图:

◆ SetSockFd()

void XuServer::TcpSocket::SetSockFd ( int  sockfd)
inline

设置Socket描述符。

参数
sockfd要设置的Socket描述符。
这是这个函数的调用关系图:

类成员变量说明

◆ _sockfd

int XuServer::TcpSocket::_sockfd
private

Socket文件描述符。