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

查找在具有指定的 familytypeprotocol_id 的套接字上创建套接字连接时要使用的 GType

自2.22开始

g_socket_connection_factory_register_type

查找在具有指定的 familytypeprotocol 的套接字上创建套接字连接时要使用的 GType

自2.22开始

实例方法

g_socket_connection_connect

connection 连接到指定的远程地址。

自2.32开始

g_socket_connection_connect_async

异步地将 connection 连接到指定的远程地址。

自2.32开始

g_socket_connection_connect_finish

获取 g_socket_connection_connect_async() 调用的结果。

自2.32开始

g_socket_connection_get_local_address

尝试获取套接字连接的本地地址。

自2.22开始

g_socket_connection_get_remote_address

尝试获取套接字连接的远程地址。

自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

GObject继承的方法(43)

请参阅GObject获取方法的完整列表。

属性

Gio.SocketConnection:socket

底层的GSocket

自2.22开始

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 )

无描述可用。