类
GioSocketConnection
自2.22开始
描述 [源码]
class Gio.SocketConnection : Gio.IOStream
{
priv: GSocketConnectionPrivate*
}
GSocketConnection
是一个用于连接的套接字的 GIOStream
。它们可以在连接到主机时由 GSocketClient
创建,或者在接受新 GSocketListener
时创建。
从这些调用返回的 GSocketConnection
对象的类型取决于所使用的底层套接字类型。例如,对于 TCP/IP 连接,它将是一个 GTcpConnection
。
选择要构建的对象类型是通过套接字连接工厂完成的,第三方可以使用 g_socket_connection_factory_register_type()
为特定的套接字家族/类型/协议组合注册自定义套接字连接类型。
要关闭 GSocketConnection
,请使用 g_io_stream_close()
。单独关闭 GIOStream
的子流将不会关闭底层的 GSocket
。
自2.22可用
函数
g_socket_connection_factory_lookup_type
查找在具有指定的 family
、type
和 protocol_id
的套接字上创建套接字连接时要使用的 GType
。
自2.22开始
g_socket_connection_factory_register_type
查找在具有指定的 family
、type
和 protocol
的套接字上创建套接字连接时要使用的 GType
。
自2.22开始
实例方法
g_socket_connection_get_socket
获取连接的底层 GSocket
对象。如果您想要在该对象上执行不支持通过 GSocketConnection
API 执行的操作,这将很有用。
自2.22开始
g_socket_connection_is_connected
检查 connection
是否已连接。这与在 connection
‘ 的底层 GSocket
上调用 g_socket_is_connected()
相等。
自2.32开始
从 GIOStream 继承的方法(10)
g_io_stream_clear_pending
清除 stream
上的挂起标志。
自2.22开始
g_io_stream_close
关闭流,释放相关的资源。如果单独的输入和输出流尚未关闭,它们也将被关闭。
自2.22开始
g_io_stream_close_async
请求对流的异步关闭,释放相关的资源。当操作完成时,将调用callback
。然后您可以调用g_io_stream_close_finish()
来获取操作的结果。
自2.22开始
g_io_stream_close_finish
关闭流。
自2.22开始
g_io_stream_get_input_stream
获取此对象的输入流。这用于读取。
自2.22开始
g_io_stream_get_output_stream
获取此对象的输出流。这用于写入。
自2.22开始
g_io_stream_has_pending
检查流是否有待进行的操作。
自2.22开始
g_io_stream_is_closed
检查流是否已关闭。
自2.22开始
g_io_stream_set_pending
将stream
设置为有操作待处理。如果待处理标志已设置或stream
已关闭,它将返回FALSE
并设置error
。
自2.22开始
g_io_stream_splice_async
异步连接stream1
的输出流到stream2
的输入流,并连接stream2
的输出流到stream1
的输入流。
since: 2.28
属性
从GIOStream继承的属性(3)
Gio.IOStream:closed
流是否已关闭。
自2.22开始
Gio.IOStream:input-stream
读取的GInputStream
。
自2.22开始
Gio.IOStream:output-stream
写入的GOutputStream
。
自2.22开始
信号
从GObject继承的信号(1)
GObject::notify
当对象的一个属性通过 g_object_set_property(), g_object_set() 等设置其值时,发出此通知信号。
类结构
struct GioSocketConnectionClass {
GIOStreamClass parent_class;
void (* _g_reserved1) (
void
);
void (* _g_reserved2) (
void
);
void (* _g_reserved3) (
void
);
void (* _g_reserved4) (
void
);
void (* _g_reserved5) (
void
);
void (* _g_reserved6) (
void
);
}
无描述可用。
类成员
parent_class: GIOStreamClass
无描述可用。
_g_reserved1: void (* _g_reserved1) ( void )
无描述可用。
_g_reserved2: void (* _g_reserved2) ( void )
无描述可用。
_g_reserved3: void (* _g_reserved3) ( void )
无描述可用。
_g_reserved4: void (* _g_reserved4) ( void )
无描述可用。
_g_reserved5: void (* _g_reserved5) ( void )
无描述可用。
_g_reserved6: void (* _g_reserved6) ( void )
无描述可用。