![]() |
CMGDK r49-rc2
|
TCP连接处理基类 更多...
#include <TCPSocket.H>
公有成员 | |
DefEvent (void, OnDisconnect,(TCPSocket *)) | |
断开连接事件处理函数 | |
TCPSocket (int) | |
本类构造函数 | |
TCPSocket (int, int) | |
本类构造函数 | |
TCPSocket (int, sockaddr_in *, int) | |
本类构造函数 | |
virtual | ~TCPSocket () |
本类析构函数 | |
const sockaddr_in & | GetAddr () const |
取得当前socket地址 | |
virtual void | UseSocket (int, sockaddr_in *addr=0) |
使用指定socket | |
virtual bool | Update (bool=false) |
刷新处理函数 | |
virtual bool | Send (const void *, const HGL_PACKET_SIZE) |
发送一段数据 | |
virtual bool | SendPacket (const void *, const HGL_PACKET_SIZE) |
发送一个封包 | |
virtual bool | SendPacket (const HGL_PACKET_TYPE, const void *, const HGL_PACKET_SIZE) |
发送一个封包 | |
virtual int | Recv (void *, const HGL_PACKET_SIZE) |
接收一段数据 | |
virtual int | RecvPacket (void *) |
接收一个封包 | |
virtual int | RecvPacket (HGL_PACKET_TYPE &, void *) |
接收一个封包 | |
保护成员 | |
void | InitPrivate (int) |
virtual int | SendStart () |
发送开始 | |
virtual void | SendEnd (int) |
发送结束 | |
virtual int | RecvStart () |
发送开始 | |
virtual void | RecvEnd (int) |
发送结束 | |
保护属性 | |
sockaddr_in | ThisAddr |
当前socket对应的地址 | |
RingBuffer * | RecvBuffer |
接收用缓冲区 | |
RingBuffer * | SendBuffer |
发送用缓冲区 | |
友元 | |
class | TCPDistribute |
class | IOCPAcceptManage |
TCP连接处理基类
TCP连接处理基类
提供统一的Recv/Send函数以及缓冲区,但请注意这个recv/send都只是针对缓冲区的,真正的send/recv在各自的派生类中。
hgl::network::TCPSocket::TCPSocket | ( | int | buf_size | ) |
本类构造函数
构造函数
buf_size | 缓冲区大小 |
本类构造函数
构造函数
sock | Socket号 |
buf_size | 缓冲区大小 |
本类构造函数
构造函数
sock | Socket号 |
addr | socket地址 |
buf_size | 缓冲区大小 |
hgl::network::TCPSocket::~TCPSocket | ( | ) | [virtual] |
本类析构函数
hgl::network::TCPSocket::DefEvent | ( | void | , |
OnDisconnect | , | ||
(TCPSocket *) | |||
) |
断开连接事件处理函数
const sockaddr_in& hgl::network::TCPSocket::GetAddr | ( | ) | const [inline] |
取得当前socket地址
void hgl::network::TCPSocket::InitPrivate | ( | int | buf_size | ) | [protected] |
int hgl::network::TCPSocket::Recv | ( | void * | data, |
const HGL_PACKET_SIZE | size | ||
) | [virtual] |
接收一段数据
从网络接收指定数据
data | 数据区指针 |
size | 数据区最大长度 |
void hgl::network::TCPSocket::RecvEnd | ( | int | ) | [protected, virtual] |
发送结束
int hgl::network::TCPSocket::RecvPacket | ( | void * | data | ) | [virtual] |
接收一个封包
从网络接收一个数据包
data | 数据包指针 |
int hgl::network::TCPSocket::RecvPacket | ( | HGL_PACKET_TYPE & | type, |
void * | data | ||
) | [virtual] |
接收一个封包
从网络接收一个数据包,包含一个类型数据
type | 数据包类型 |
data | 数据包指针 |
int hgl::network::TCPSocket::RecvStart | ( | ) | [protected, virtual] |
发送开始
bool hgl::network::TCPSocket::Send | ( | const void * | data, |
const HGL_PACKET_SIZE | size | ||
) | [virtual] |
发送一段数据
发送指定长度的数据
data | 数据指针 |
size | 数据长度 |
void hgl::network::TCPSocket::SendEnd | ( | int | ) | [protected, virtual] |
bool hgl::network::TCPSocket::SendPacket | ( | const HGL_PACKET_TYPE | type, |
const void * | data, | ||
const HGL_PACKET_SIZE | size | ||
) | [virtual] |
发送一个封包
向网络发送一个数据包,包含一个类型数据
type | 数据包类型 |
data | 数据包指针 |
size | 数据包长度 |
bool hgl::network::TCPSocket::SendPacket | ( | const void * | data, |
const HGL_PACKET_SIZE | size | ||
) | [virtual] |
发送一个封包
向网络发送一个数据包
data | 数据包指针 |
size | 数据包长度 |
int hgl::network::TCPSocket::SendStart | ( | ) | [protected, virtual] |
发送开始
virtual bool hgl::network::TCPSocket::Update | ( | bool | = false | ) | [inline, virtual] |
刷新处理函数
void hgl::network::TCPSocket::UseSocket | ( | int | sock, |
sockaddr_in * | addr = 0 |
||
) | [virtual] |
使用指定socket
使用指定socket
sock | 指定socket编号 |
addr | socket地址 |
friend class IOCPAcceptManage [friend] |
friend class TCPDistribute [friend] |
RingBuffer* hgl::network::TCPSocket::RecvBuffer [protected] |
接收用缓冲区
RingBuffer* hgl::network::TCPSocket::SendBuffer [protected] |
发送用缓冲区
sockaddr_in hgl::network::TCPSocket::ThisAddr [protected] |
当前socket对应的地址