方法

GioSocketreceive_from

自从:2.22

声明 [src]

gssize
g_socket_receive_from (
  GSocket* socket,
  GSocketAddress** address,
  gchar* buffer,
  gsize size,
  GCancellable* cancellable,
  GError** error
)

描述 [src]

从套接字接收数据(最多 size 字节)。

如果 address 不是 NULL,则 address 将设置为接收包的源地址。《address》由调用方拥有。

有关更多信息,请参阅 g_socket_receive()

自从:2.22

参数

地址

类型: GSocketAddress

指向 GSocketAddress 指针的指针,或 NULL

该参数将由该函数设置。
该参数可以是 NULL
方法调用者将获得返回数据的所有权,并负责释放它。
buffer

类型: guint8 数组

a buffer to read data into (which should be at least `size` bytes long).
该参数将由该函数设置。
数组的长度在 size 参数中指定。
返回的数据属于该实例。
size

类型: gsize

您需要从套接字中读取的字节数。

cancellable

类型: GCancellable

一个 %GCancellable 或 NULL

该参数可以是 NULL
数据属于方法调用者。
error

类型: GError **

用于恢复错误的返回位置。

该参数可以是 NULL
如果返回位置不是 NULL,则必须将其初始化为一个空的 GError*
如果没有错误,方法将保留初始化到 NULL 的参数。
如果发生错误,参数将被设置为一个新分配的 GError;调用者将获取数据所有权,并负责释放它。

返回值

类型: gssize

读取的字节数,如果连接由对等方关闭则为 0,错误发生时为 -1。