るりまサーチ

最速Rubyリファレンスマニュアル検索!
170件ヒット [1-100件を表示] (0.062秒)

別のキーワード

  1. socket new
  2. socket open
  3. socket tcp_server_sockets
  4. socket udp_server_sockets
  5. socket listen

ライブラリ

クラス

キーワード

検索結果

<< 1 2 > >>

Socket::AncillaryData.new(family, cmsg_level, cmsg_type, cmsg_data) -> Socket::AncillaryData (29380.0)

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

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

family はソケットファミリーを指定します。
整数、文字列、シンボルを渡します。
* Socket::AF_INET, "AF_INET", "INET", :AF_INET, :INET
* Socket::AF_UNIX, "AF_UNIX", "UNIX", :AF_UNIX, :UNIX
*...
...定します。
整数、文字列、シンボルを渡します。
* 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 は補助データの...
...: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, :N...

Addrinfo.new(sockaddr, family=Socket::PF_UNSPEC, socktype=0, protocol=0) -> Addrinfo (26280.0)

新たな Addrinfo オブジェクトを返します。

...e, protocol
socket(2) のパラメータに対応します。

sockaddr には文字列もしくは配列を指定します。
配列の場合は IPSocket#addr や UNIXSocket#addr の
値と互換でなければなりません。
文字列の場合は Socket.sockaddr_in や
Socket
.unpack_sockadd...
...ocaldomain", "127.0.0.1"]
* ["AF_INET6", 42304, "ip6-localhost", "::1"]
* ["AF_UNIX", "/tmp/sock"]
* Socket.sockaddr_in("smtp", "2001:DB8::1")
* Socket.sockaddr_in(80, "172.18.22.42")
* Socket.sockaddr_in(80, "www.ruby-lang.org")
* Socket.sockaddr_un("/tmp/sock")

配列で AF_INET/AF_IN...
...を指定した場合、配列の4番目の要素
が実際のIPアドレスとして使われます。配列の3番目の要素は
ホスト名ですが Addrinfo#inspect
での表示にしか用いられません。

family は Socket::PF_INET のようなプロコルファミリーを指定し...

Addrinfo.ip(host) -> Addrinfo (26141.0)

IP アドレスに対する Addrinfo オブジェクトを返します。

...
IP
アドレスに対する Addrinfo オブジェクトを返します。

port, socktype, protocol は 0 で初期化されます。
つまりこの返り値はソケットを生成するには不適です。

require 'socket'

Addrinfo.ip("localhost") #=> #<Addrinfo: 127.0.0.1 (localhost)>

@...
...param host ホスト(IP アドレスもしくはホスト名)
@see Addrinfo.new...

IPAddr.new(addr = &#39;::&#39;, family = Socket::AF_UNSPEC) -> IPAddr (21308.0)

新しい IPAddr オブジェクトを生成します。

...新しい IPAddr オブジェクトを生成します。

@param addr 0 から IPAddr::IN6MASK までの数値を受け取ります。
また、'address', 'address/prefixlen', 'address/mask' の形式も受け付けます。
プリフィックス長やマスクが指定さ...
...れた IPAddr オブジェクトを返します。
IP
v6 アドレスの場合は、[ ] で囲まれていてもかまいません。

@param family family は自動的に判定されますが、明示的に指定することもできます。

@raise ArgumentError family が Socket::AF_U...

Socket.tcp_server_loop(host, port) {|sock,addr| ...} -> () (17070.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。

...TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、
新しい接続を受け入れるごとにブロックを呼び出します。

ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジ...
... IPv6 の
両方を待ち受けます。getaddrinfo が 0 個のアドレスを返す場合はエラー
になります。1つ以上を返した場合にそれが用いられます。

# 逐次的な echo サーバ
# 一度に一つのクライアントした取り扱えない
require 'socket'...
...注意
require 'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
Thread.new {
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
}

内部的には Socket.tcp_server_sockets で
生成したソケットを Socket.accept_loop で処...

絞り込み条件を変える

Socket.tcp_server_loop(port) {|sock,addr| ...} -> () (17070.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。

...TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、
新しい接続を受け入れるごとにブロックを呼び出します。

ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジ...
... IPv6 の
両方を待ち受けます。getaddrinfo が 0 個のアドレスを返す場合はエラー
になります。1つ以上を返した場合にそれが用いられます。

# 逐次的な echo サーバ
# 一度に一つのクライアントした取り扱えない
require 'socket'...
...注意
require 'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
Thread.new {
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
}

内部的には Socket.tcp_server_sockets で
生成したソケットを Socket.accept_loop で処...

IPSocket#addr -> Array (14034.0)

ソケットの接続情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_INET", "AF_INET6" など、第2要素が port 番号、第3要素がホストを表 す文字列、第4要素がホストの IP アドレスを表す文字列 (octet decimal や hexadecimal) です。

...す文字列、第4要素がホストの IP アドレスを表す文字列 (octet
decimal や hexadecimal) です。

@raise Errno::EXXX getsockname(2) が 0 未満の値を返した場合に発生します。

例:

require 'socket'

serv = TCPServer.new("localhost", 0)
p serv.addr #...
...=> ["AF_INET", 46102, "localhost.localdomain", "127.0.0.1"]
c = TCPSocket.new(*serv.addr.values_at(3,1))
s = serv.accept...

IPSocket#recvfrom(maxlen, flags = 0) -> Array (14018.0)

recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのアドレス (形式は IPSocket#addr 参照) のペアです。引数につ いては BasicSocket#recv と同様です。

...からデータを受け取りますが、
戻り値は文字列と相手ソケットのアドレス (形式は
IP
Socket#addr 参照) のペアです。引数につ
いては BasicSocket#recv と同様です。

@param maxlen 受け取る文字列の最大の長さを指定します。

@param flags...
...recvfrom(2) がエラーになった場合などに発生します。

例:

require 'socket'

s1 = UDPSocket.new
s1.bind("0.0.0.0", 0) # 適当に空いている port を割り当てる
s2 = UDPSocket.new
s2.send("foo", 0, s1.getsockname)
mesg, inet_addr = s1.recvfrom(100)
p mesg...

BasicSocket#setsockopt(socketoption) -> 0 (11274.0)

ソケットのオプションを設定します。setsockopt(2) を参照してください。

...を設定します。setsockopt(2)
を参照してください。

level, optname には Socket::SOL_SOCKET Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。

optval...
...:SOCKET, :REUSEADDR, true)
sock.setsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR, true)
sock.setsockopt(Socket::Option.bool(:INET, :SOCKET, :REUSEADDR, true))

# 整数値の場合
#setsockopt could be called like this:
sock.setsockopt(:IP, :TTL, 255)
sock.setsockopt(Socket::IPPROTO_IP...
..., Socket::IP_TTL, 255)
sock.setsockopt(Socket::Option.int(:INET, :IP, :TTL, 255))

# より複雑な場合
optval = IPAddr.new("224.0.0.251").hton +
IP
Addr.new(Socket::INADDR_ANY, Socket::AF_INET).hton
sock.setsockopt(Socket::IPPROTO_IP, Socket::IP_ADD_MEMBERSHIP, optval)

@param...

BasicSocket#setsockopt(level, optname, optval) -> 0 (11174.0)

ソケットのオプションを設定します。setsockopt(2) を参照してください。

...を設定します。setsockopt(2)
を参照してください。

level, optname には Socket::SOL_SOCKET Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。

optval...
...:SOCKET, :REUSEADDR, true)
sock.setsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR, true)
sock.setsockopt(Socket::Option.bool(:INET, :SOCKET, :REUSEADDR, true))

# 整数値の場合
#setsockopt could be called like this:
sock.setsockopt(:IP, :TTL, 255)
sock.setsockopt(Socket::IPPROTO_IP...
..., Socket::IP_TTL, 255)
sock.setsockopt(Socket::Option.int(:INET, :IP, :TTL, 255))

# より複雑な場合
optval = IPAddr.new("224.0.0.251").hton +
IP
Addr.new(Socket::INADDR_ANY, Socket::AF_INET).hton
sock.setsockopt(Socket::IPPROTO_IP, Socket::IP_ADD_MEMBERSHIP, optval)

@param...

絞り込み条件を変える

<< 1 2 > >>