方法
GIoSocketListener添加地址
自:2.22
声明 [源]
gboolean
g_socket_listener_add_address (
GSocketListener* listener,
GSocketAddress* address,
GSocketType type,
GSocketProtocol protocol,
GObject* source_object,
GSocketAddress** effective_address,
GError** error
)
描述 [源]
创建一个类型为type
和协议为protocol
的套接字,将其绑定到address
,并将其添加到我们正在接受的套接字集合中。
请注意,根据平台,添加IPv6地址可能或可能不会导致同时接受IPv4连接的监听器。对于更确定的行为,请参阅g_socket_listener_add_inet_port()。
source_object
将在各种接受调用中传递,以标识此类特定源,这在您在多个地址上监听并根据哪个地址连接执行不同操作时非常有用。
如果成功且effective_address
非NULL
,则它将被设置为绑定发生的地址。这对于确定请求绑定到端口0(即“any端”)时使用的端口号非常有用。如果请求,此地址属于调用者,必须释放。
调用g_socket_listener_close()
以停止在address
上监听;在您放下对listener
的最后引用时,这不会自动完成,因为参考可能被内部持有。
自:2.22
参数
address
-
类型:
GSocketAddress
一个
GSocketAddress
。数据由方法调用者拥有。 type
-
类型:
GSocketType
一个
GSocketType
。 protocol
-
类型:
GSocketProtocol
一个
GSocketProtocol
。 source_object
-
类型:
GObject
一个可选的
GObject
,用于标识此源。该参数可以为 NULL
。数据由方法调用者拥有。 effective_address
-
类型:
GSocketAddress
存储已绑定地址的位置,或
NULL
。该参数将由函数设置。 该参数可以为 NULL
。方法的调用者将获取返回数据的所有权,并负责释放它。 error
-
类型:
GError **
一个可恢复错误的返回位置。
该参数可以为 NULL
。如果返回位置不为 NULL
,则您必须将其初始化为一个NULL
的GError*
。如果没有错误,该方法将始终将参数初始化为 NULL
。出错时,参数将设置为一个新的 GError
分配;调用者将获取数据的所有权,并负责释放它。