CMGDK r49-rc2
公有成员 | 保护成员 | 保护属性 | 友元
hgl::network::TCPSocket类参考

TCP连接处理基类 更多...

#include <TCPSocket.H>

继承图,类hgl::network::TCPSocket
hgl::network::Socket hgl::network::TCPAccept hgl::network::TCPClient hgl::network::IOCPAccept hgl::network::TCPAcceptPass hgl::network::MSAccept hgl::network::MTBAccept

所有成员的列表。

公有成员

 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对应的地址
RingBufferRecvBuffer
 接收用缓冲区
RingBufferSendBuffer
 发送用缓冲区

友元

class TCPDistribute
class IOCPAcceptManage

详细描述

TCP连接处理基类

TCP连接处理基类
提供统一的Recv/Send函数以及缓冲区,但请注意这个recv/send都只是针对缓冲区的,真正的send/recv在各自的派生类中。


构造及析构函数文档

hgl::network::TCPSocket::TCPSocket ( int  buf_size)

本类构造函数

构造函数

参数:
buf_size缓冲区大小
hgl::network::TCPSocket::TCPSocket ( int  sock,
int  buf_size 
)

本类构造函数

构造函数

参数:
sockSocket号
buf_size缓冲区大小
hgl::network::TCPSocket::TCPSocket ( int  sock,
sockaddr_in *  addr,
int  buf_size 
)

本类构造函数

构造函数

参数:
sockSocket号
addrsocket地址
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]

发送结束

hgl::network::TCPAcceptPass重载。

int hgl::network::TCPSocket::RecvPacket ( void *  data) [virtual]

接收一个封包

从网络接收一个数据包

参数:
data数据包指针
返回:
收到的包长度
-1 出错
int hgl::network::TCPSocket::RecvPacket ( HGL_PACKET_TYPE type,
void *  data 
) [virtual]

接收一个封包

从网络接收一个数据包,包含一个类型数据

参数:
type数据包类型
data数据包指针
返回:
收到的包长度
-1 出错
int hgl::network::TCPSocket::RecvStart ( ) [protected, virtual]

发送开始

hgl::network::TCPAcceptPass重载。

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]

发送开始

hgl::network::TCPAcceptPass重载。

virtual bool hgl::network::TCPSocket::Update ( bool  = false) [inline, virtual]

刷新处理函数

hgl::network::TCPAccepthgl::network::TCPClient重载。

void hgl::network::TCPSocket::UseSocket ( int  sock,
sockaddr_in *  addr = 0 
) [virtual]

使用指定socket

使用指定socket

参数:
sock指定socket编号
addrsocket地址

友元及相关函数文档

friend class IOCPAcceptManage [friend]
friend class TCPDistribute [friend]

成员数据文档

接收用缓冲区

发送用缓冲区

sockaddr_in hgl::network::TCPSocket::ThisAddr [protected]

当前socket对应的地址


该类的文档由以下文件生成:
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义