当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Socket.unix_server_loop用法及代码示例


本文简要介绍ruby语言中 Socket.unix_server_loop 的用法。

用法

unix_server_loop(path) { |socket, client_addrinfo| ... }

path 上创建一个 UNIX 套接字服务器。它为每个接受的套接字调用块。

如果指定了host,则它与port 一起用于确定服务器端口。

块返回时套接字未关闭。所以应用程序应该关闭它。

如果该文件是套接字文件并且它由应用程序的用户拥有,则此方法首先删除path 指向的套接字文件。仅当恶意用户未更改path 的目录时,这才是安全的。所以不要使用 /tmp/malicious-users-directory/socket。注意 /tmp/socket 和 /tmp/your-private-directory/socket 是安全的,假设 /tmp 有粘性位。

# Sequential echo server.
# It services only one client at a time.
Socket.unix_server_loop("/tmp/sock") {|sock, client_addrinfo|
  begin
    IO.copy_stream(sock, sock)
  ensure
    sock.close
  end
}

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Socket.unix_server_loop。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。