role IO::Socket { ... }

IO::Socket 包含套接字的读写方法。它通常通过 IO::Socket::INET 使用。

方法§

方法 recv§

method recv(IO::Socket:D: Cool $elems = Inf:$bin)

接收数据包并返回它,如果传递了 :bin,则返回 Blob;如果没有传递,则返回 Str。最多接收 $elems65535(以较小者为准)个字节或字符。

如果套接字未连接,则失败。

方法 read§

method read(IO::Socket:D: Int(Cool$bytes)

从套接字读取 $bytes 个字节,并以 Blob 形式返回它们。

如果套接字未连接,则失败。

例程 get§

method get(IO::Socket:D: --> Str:D)

从套接字读取一行输入,并删除尾随换行符(由 .nl-in 设置)。如果没有更多输入可用,则返回 Nil

如果套接字未连接,则失败。

方法 print§

method print(IO::Socket:D: Str(Cool$string)

将提供的字符串写入套接字,从而将其发送到连接的另一端。二进制版本是 方法 write

如果套接字未连接,则失败。

方法 write§

method write(IO::Socket:D: Blob:D $buf)

将提供的缓冲区写入套接字,从而将其发送到连接的另一端。字符串版本是 方法 print

如果套接字未连接,则失败。

方法 put§

method put(IO::Socket:D: Str(Cool$string)

将提供的字符串(附加 \n)写入套接字,从而将其发送到连接的另一端。

如果套接字未连接,则失败。

方法 close§

method close(IO::Socket:D)

关闭套接字。

如果套接字未连接,则失败。

方法 native-descriptor§

method native-descriptor()

这将返回一个值,操作系统会将其理解为“套接字描述符”,并且适合传递给需要套接字描述符作为参数的本机函数,例如 setsockopt