方法

GioSocketget_available_bytes

自:2.32

声明 [源]

gssize
g_socket_get_available_bytes (
  GSocket* socket
)

描述 [源]

获取在 OS 输入缓冲区中等待的数据量,不阻塞。

如果 socket 是一个 UDPSCTP 套接字,这将返回仅下个数据包的大小,即使在该数据包之后还有缓冲区中的其他数据包。

注意,在 Windows 上,这个函数在 UDP 情况下效率较低,所以如果您知道传入数据包大小的合理上限,最好使用该大小作为缓冲区执行 g_socket_receive(),而不是首先调用 g_socket_get_available_bytes(),然后再进行精确大小的接收。

自 2.32 版本起可用。

返回值

类型: gssize

可以从套接字中读取的字节数,而不阻塞或截断,或在出错时返回 -1。