GTcpSocket TCP client端
更多...
#include <gTcpSocket.h>
继承自 GObject , 以及 GSocketInterface .
|
| 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 |
| 获取对象名称 更多...
|
|
GObject * | parent () const |
| 获取对象的parent 更多...
|
|
|
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) |
| 判断对象是否已经被析构掉了。 更多...
|
|
调用connect之后,系统会反馈给开发者的连接状态
枚举值 |
---|
E_ON_CONNECT_SUCCESS |
连接成功
|
E_ON_CONNECT_FAILED |
连接失败
|
GTcpSocket::GTcpSocket |
( |
GObject * |
parent = 0 , |
|
|
const char * |
name = 0 |
|
) |
| |
|
explicit |
构造一个默认socket,未bind端口和地址
- 参数
-
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 |
|
) |
| |
void GTcpSocket::connect |
( |
const uint16_t |
hPort, |
|
|
const in_addr_t |
addr, |
|
|
int |
msec = 10000 |
|
) |
| |
使用指定的信息去连接tcp 服务端。开发者需要通过 onConnect 信号来获取是否连接成功
- 参数
-
hPort | ... |
addr | int格式的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 |
判断对象是否已经被析构掉了。
- 参数
-
- 返回
- bool true表示对象健在,false表示对象已经被析构掉了
const char* GObject::name |
( |
| ) |
const |
|
inherited |
uint32_t GTcpSocket::recvBufferSize |
( |
| ) |
const |
返回接收缓冲区的大小,以字节为单位
- 返回
- uint32_t
virtual uint32_t GTcpSocket::send |
( |
const char * |
pBuf, |
|
|
size_t |
length, |
|
|
int |
flags = 0 |
|
) |
| |
|
virtual |
void GTcpSocket::setRecvBufferSize |
( |
uint32_t |
bytes | ) |
|
设置接收缓冲区的大小,以字节为单位。默认情况下为2KB
- 参数
-
- 返回
- void
当客户端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 |
该类的文档由以下文件生成: