singleton method Socket::AncillaryData.new

new(family, cmsg_level, cmsg_type, cmsg_data) -> Socket::AncillaryData[permalink][rdoc][edit]

新たな Socket::AncillaryData オブジェクトを生成します。

family はソケットファミリーを指定します。整数、文字列、シンボルを渡します。

  • Socket::AF_INET, "AF_INET", "INET", :AF_INET, :INET
  • Socket::AF_UNIX, "AF_UNIX", "UNIX", :AF_UNIX, :UNIX
  • など

cmsg_level にはメッセージの元となるプロトコルを指定します。整数、文字列、シンボルを渡します。

  • Socket::SOL_SOCKET, "SOL_SOCKET", "SOCKET", :SOL_SOCKET and :SOCKET
  • Socket::IPPROTO_IP, "IP" and :IP
  • Socket::IPPROTO_IPV6, "IPV6" and :IPV6
  • Socket::IPPROTO_TCP, "TCP" and :TCP
  • など

cmsg_type は補助データの種類を指定します。 cmsg_level で指定したプロトコルによってこの部分の解釈は異なります。整数、文字列、シンボルを渡します。

  • Socket::SCM_RIGHTS, "SCM_RIGHTS", "RIGHTS", :SCM_RIGHTS, :RIGHTS for SOL_SOCKET
  • Socket::IP_RECVTTL, "RECVTTL" and :RECVTTL for IPPROTO_IP
  • Socket::IPV6_PKTINFO, "PKTINFO" and :PKTINFO for IPPROTO_IPV6
  • など

cmsg_data には補助データの内容となる文字列を渡します

require 'socket'

p Socket::AncillaryData.new(:INET, :TCP, :NODELAY, "")
#=> #<Socket::AncillaryData: INET TCP NODELAY "">

p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "")
#=> #<Socket::AncillaryData: INET6 IPV6 PKTINFO "">
[PARAM] family:
ソケットファミリー
[PARAM] cmsg_level:
プロトコル
[PARAM] cmsg_type:
補助データの種類
[PARAM] cmsg_data:
データ内容