Giveda® Embedded Midware  1.2.0
本文档受《版权法》、《版权公约》保护。深圳技达®版权所有
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 
Public 类型 | Public 成员函数 | 静态 Public 成员函数 | Public 属性 | 所有成员列表
GTcpSocket类 参考

GTcpSocket TCP client端 更多...

#include <gTcpSocket.h>

继承自 GObject , 以及 GSocketInterface .

Public 类型

enum  E_ON_CONNECT { E_ON_CONNECT_SUCCESS, E_ON_CONNECT_FAILED }
 调用connect之后,系统会反馈给开发者的连接状态 更多...
 

Public 成员函数

 GTcpSocket (GObject *parent=0, const char *name=0)
 构造一个默认socket,未bind端口和地址 更多...
 
 GTcpSocket (int fd, const sockaddr_in &addr, socklen_t addr_len, GObject *parent=0, const char *name=0)
 使用指定的信息来构造一个 tcp socket。该函数可以配合 GTcpServer::onAccept 来进行使用。 更多...
 
virtual ~GTcpSocket ()
 
void connect (const uint16_t hPort, const in_addr_t addr, int msec=10000)
 使用指定的信息去连接tcp 服务端。开发者需要通过 onConnect 信号来获取是否连接成功 更多...
 
void connect (const uint16_t hPort, const GString &domainName, int msec=10000)
 使用指定的信息去连接tcp 服务端。开发者需要通过 onConnect 信号来获取是否连接成功 更多...
 
virtual uint32_t send (const char *pBuf, size_t length, int flags=0)
 发送数据 更多...
 
int bind (const uint16_t hPort, const in_addr_t addr)
 绑定到指定端口 更多...
 
virtual bool event (GEvent *evt)
 开发者可以在子类中覆盖此函数,处理自己需要的事件 更多...
 
void setRecvBufferSize (uint32_t bytes)
 设置接收缓冲区的大小,以字节为单位。默认情况下为2KB 更多...
 
uint32_t recvBufferSize () const
 返回接收缓冲区的大小,以字节为单位 更多...
 
const char * name () const
 获取对象名称 更多...
 
GObjectparent () const
 获取对象的parent 更多...
 

静态 Public 成员函数

template<class Receiver , typename... Args>
static int connect (GObject *sender, GSignal< void(Args...)> &signal, Receiver *receiver, void(Receiver::*SlotFunc)(Args...))
 将信号和槽建立连接。
Receiver代表接收者的类型 Args是槽函数/信号的参数列表。 更多...
 
template<class Receiver , typename... Args>
static int disconnect (GObject *sender, GSignal< void(Args...)> &signal, Receiver *receiver, void(Receiver::*SlotFunc)(Args...))
 将信号和槽断开连接。
Receiver代表接收者的类型 Args是槽函数/信号的参数列表。 更多...
 
static bool isObjectExist (GObject *obj)
 判断对象是否已经被析构掉了。 更多...
 

Public 属性

GSignal< void(char *buf,
uint32_t len)> 
onReceived
 当接收到数据时,该信号被发射。 更多...
 
GSignal< void(int fd, const
sockaddr_in &addr, const
socklen_t addr_len)> 
onDisconnect
 当网站出错、或者服务端主动断开连接时,该信号被发射 更多...
 
GSignal< void(E_ON_CONNECT)> onConnect
 当客户端connect服务端成功、或者失败时,该信号被发射。开发者通过连接此信号,来获取connect是否成功 更多...
 
GSignal< void(void)> sigDestroyed
 当对象被析构时,会发射此信号 更多...
 

详细描述

GTcpSocket TCP client端

成员枚举类型说明

调用connect之后,系统会反馈给开发者的连接状态

枚举值
E_ON_CONNECT_SUCCESS 

连接成功

E_ON_CONNECT_FAILED 

连接失败

构造及析构函数说明

GTcpSocket::GTcpSocket ( GObject parent = 0,
const char *  name = 0 
)
explicit

构造一个默认socket,未bind端口和地址

参数
parent...
name...
GTcpSocket::GTcpSocket ( int  fd,
const sockaddr_in &  addr,
socklen_t  addr_len,
GObject parent = 0,
const char *  name = 0 
)
explicit

使用指定的信息来构造一个 tcp socket。该函数可以配合 GTcpServer::onAccept 来进行使用。

参数
fd...
addr...
addr_len...
parent...
name...
virtual GTcpSocket::~GTcpSocket ( )
virtual

成员函数说明

int GTcpSocket::bind ( const uint16_t  hPort,
const in_addr_t  addr 
)

绑定到指定端口

参数
hPort...
addr...
返回
int
void GTcpSocket::connect ( const uint16_t  hPort,
const in_addr_t  addr,
int  msec = 10000 
)

使用指定的信息去连接tcp 服务端。开发者需要通过 onConnect 信号来获取是否连接成功

参数
hPort...
addrint格式的ip地址
msec超时
返回
void
void GTcpSocket::connect ( const uint16_t  hPort,
const GString domainName,
int  msec = 10000 
)

使用指定的信息去连接tcp 服务端。开发者需要通过 onConnect 信号来获取是否连接成功

参数
hPort...
domainName点分十进制的字符串IP地址,或者域名
msec超时
返回
void
template<class Receiver , typename... Args>
int GObject::connect ( GObject sender,
GSignal< void(Args...)> &  signal,
Receiver *  receiver,
void(Receiver::*)(Args...)  SlotFunc 
)
staticinherited

将信号和槽建立连接。
Receiver代表接收者的类型 Args是槽函数/信号的参数列表。

参数
sender指向发射者的指针
signal指向信号的引用。
receiver指向接收者的指针
SlotFunc指向槽函数的指针
返回
0代表成功;非0代表失败
template<class Receiver , typename... Args>
int GObject::disconnect ( GObject sender,
GSignal< void(Args...)> &  signal,
Receiver *  receiver,
void(Receiver::*)(Args...)  SlotFunc 
)
staticinherited

将信号和槽断开连接。
Receiver代表接收者的类型 Args是槽函数/信号的参数列表。

参数
sender指向发射者的指针
signal指向信号的引用。
receiver指向接收者的指针
SlotFunc指向槽函数的指针
返回
0代表成功;非0代表失败
virtual bool GTcpSocket::event ( GEvent )
virtual

开发者可以在子类中覆盖此函数,处理自己需要的事件

参数
...
返回
bool

重载 GObject .

static bool GObject::isObjectExist ( GObject obj)
staticinherited

判断对象是否已经被析构掉了。

参数
obj...
返回
bool true表示对象健在,false表示对象已经被析构掉了
const char* GObject::name ( ) const
inherited

获取对象名称

返回
const char*
GObject* GObject::parent ( ) const
inherited

获取对象的parent

返回
GObject*
uint32_t GTcpSocket::recvBufferSize ( ) const

返回接收缓冲区的大小,以字节为单位

返回
uint32_t
virtual uint32_t GTcpSocket::send ( const char *  pBuf,
size_t  length,
int  flags = 0 
)
virtual

发送数据

参数
pBuf...
length...
flags...
返回
uint32_t

实现了 GSocketInterface.

void GTcpSocket::setRecvBufferSize ( uint32_t  bytes)

设置接收缓冲区的大小,以字节为单位。默认情况下为2KB

参数
bytes
返回
void

类成员变量说明

GSignal<void(E_ON_CONNECT)> GTcpSocket::onConnect

当客户端connect服务端成功、或者失败时,该信号被发射。开发者通过连接此信号,来获取connect是否成功

GSignal<void(int fd, const sockaddr_in & addr, const socklen_t addr_len)> GTcpSocket::onDisconnect

当网站出错、或者服务端主动断开连接时,该信号被发射

GSignal<void(char* buf, uint32_t len)> GTcpSocket::onReceived

当接收到数据时,该信号被发射。

GSignal<void(void)> GObject::sigDestroyed
inherited

当对象被析构时,会发射此信号


该类的文档由以下文件生成: