类
GioSocketClient
since: 2.22
描述 [src]
class Gio.SocketClient : GObject.Object
{
priv: GSocketClientPrivate*
}
GSocketClient
是一个轻量级的高层实用工具类,用于通过面向连接的套接字类型连接到网络主机。
您创建一个 GSocketClient
对象,设置所需的任何选项,然后调用同步或异步连接操作,在成功的情况下返回一个 GSocketConnection
子类。
返回的 GSocketConnection
对象的类型取决于正在使用的底层套接字类型。例如,对于 TCP/IP 连接,它将是一个 GTcpConnection
。
由于 GSocketClient
是一个轻量级对象,因此您不需要缓存它。您只需在需要时创建一个新实例即可。
Available since: 2.22
实例方法
g_socket_client_add_application_proxy
启用应用程序处理代理协议。当GProxyResolver
返回指定的代理协议时,GSocketClient
将认为该协议是受支持的,但不会尝试查找一个用于处理握手的GProxy
实例。应用程序必须通过在返回的GSocketConnection
上调用g_socket_connection_get_remote_address()
来检查这种情况,并查看是否为适当类型的GProxyAddress
,以确定是否需要自行处理代理握手。
g_socket_client_connect_to_host_finish
完成异步连接操作。参见g_socket_client_connect_to_host_async()。
since: 2.22
g_socket_client_connect_to_service_finish
完成异步连接操作。参见g_socket_client_connect_to_service_async()。
since: 2.22
g_socket_client_connect_to_uri_finish
完成异步连接操作。参见g_socket_client_connect_to_uri_async()。
since: 2.26
g_socket_client_get_proxy_resolver
获取client
正在使用的GProxyResolver
。通常,这将是通过g_proxy_resolver_get_default()返回的解析器,但您可以使用g_socket_client_set_proxy_resolver()覆盖它。
since: 2.36
g_socket_client_set_enable_proxy
设置client
是否尝试通过代理服务器建立连接。当启用(默认值)时,GSocketClient
将使用GProxyResolver
来确定是否需要如同SOCKS这样的代理协议,并自动完成必要的代理协商。
since: 2.26
g_socket_client_set_family
设置套接字客户端的套接字族。如果将其设置为一个不同于G_SOCKET_FAMILY_INVALID
的值,则此对象创建的套接字将属于指定族。
since: 2.22
g_socket_client_set_proxy_resolver
覆盖 GProxyResolver
为 client
使用的。如果您想使用特定代理,而不是使用系统默认的代理设置,则可以调用此方法。
since: 2.36
g_socket_client_set_tls
确定是否由 client
创建 TLS(即是 SSL)连接。如果 TRUE
,则 client
将在连接时将连接包装在 GTlsClientConnection
中,并执行 TLS 握手。
since: 2.28
g_socket_client_set_tls_validation_flags
设置通过 client
创建 TLS 连接时使用的 TLS 验证标志。默认值是 G_TLS_CERTIFICATE_VALIDATE_ALL
。
已弃用:2.72 since: 2.28
属性
Gio.SocketClient:tls-validation-flags
创建 TLS 连接时使用的 TLS 验证标志。默认值是 G_TLS_CERTIFICATE_VALIDATE_ALL
。
已弃用:2.72
信号
Gio.SocketClient::event
当 client
‘ 的 connectable
活动状态改变时发出。在其他事情中,这可以用来提供关于网络连接的进度信息。不同 event
值的含义如下:
since: 2.32
从 GObject 继承的信号(1)
GObject::notify
当对象的一个属性通过 g_object_set_property(), g_object_set(), 等等方法设置值时,发出通知信号。
类结构
struct GioSocketClientClass {
GObjectClass parent_class;
void (* event) (
GSocketClient* client,
GSocketClientEvent event,
GSocketConnectable* connectable,
GIOStream* connection
);
void (* _g_reserved1) (
void
);
void (* _g_reserved2) (
void
);
void (* _g_reserved3) (
void
);
void (* _g_reserved4) (
void
);
}
没有可用的描述。
类成员
parent_class: GObjectClass
没有可用的描述。
event: void (* event) ( GSocketClient* client, GSocketClientEvent event, GSocketConnectable* connectable, GIOStream* connection )
没有可用的描述。
_g_reserved1: void (* _g_reserved1) ( void )
没有可用的描述。
_g_reserved2: void (* _g_reserved2) ( void )
没有可用的描述。
_g_reserved3: void (* _g_reserved3) ( void )
没有可用的描述。
_g_reserved4: void (* _g_reserved4) ( void )
没有可用的描述。