方法
GioSocketClientconnect_to_host
自从: 2.22
声明 [源代码]
GSocketConnection*
g_socket_client_connect_to_host (
GSocketClient* client,
const gchar* host_and_port,
guint16 default_port,
GCancellable* cancellable,
GError** error
)
描述 [源代码]
这是 g_socket_client_connect() 的辅助函数。
尝试与命名的主机建立 TCP 连接。
host_and_port
可采用多种认可的格式;IPv6 地址、IPv4 地址或域名(在这种情况下将 performs DNS 查找)。支持对所有地址类型的字符串引用。可以通过冒号指定端口覆盖。端口号可以是十进制数字或符号名称(在这种情况下会进行 /etc/services 查找)。
如果 host_and_port
中没有指定端口覆盖,则将使用 default_port
作为连接的端口号。
通常,host_and_port
应由用户提供(允许他们提供主机名,如果需要,还可以提供端口覆盖),而 default_port
应由应用提供。
如果提供了 IP 地址,将进行单次连接尝试。如果提供了名称,则可能会多次进行连接尝试,依次进行,次数根据 DNS 中的地址记录的数量,直到成功连接。
成功连接后,将构建一个新的 GSocketConnection
并返回。调用者拥有此新对象,必须在完成时释放对其的引用。
在发生任何故障(DNS错误、服务未找到、无可连接的主机)时,将返回NULL
,并根据情况将error
(如果非NULL
)设置为相应的值。
自2.22版起提供。
参数
host_and_port
-
类型:
const gchar*
要连接的主机的名称和可选端口号。
数据属于该方法的调用者。 该值是一个以NUL结尾的UTF-8字符串。 default_port
-
类型:
guint16
默认连接端口号。
cancellable
-
类型:
GCancellable
一个
GCancellable
,或NULL
。该参数可以是 NULL
。数据属于该方法的调用者。 error
-
类型:
GError **
用于可恢复错误的返回位置。
该参数可以是 NULL
。如果返回位置不是 NULL
,则必须将其初始化为NULLGError*
。如果没有错误,该方法将留空地初始化该参数为 NULL
。如果发生错误,该参数将被设置为新分配的 GError
;调用者将获取数据的所有权,并负责释放它。