當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。