るりまサーチ

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

別のキーワード

  1. openssl p
  2. openssl p=
  3. fileutils mkdir_p
  4. kernel p
  5. rsa p

ライブラリ

クラス

キーワード

検索結果

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

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

...(形式は
IPSocket#addr 参照) のペアです。引数につ
いては BasicSocket#recv と同様です。

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

@param flags recv(2) を参照してください。

@raise IOError

@raise Errno::EXXX 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 #=> "foo"
p
inet_addr #=> ["AF_INET", 32876, "lo...

Socket#recvfrom(maxlen, flags=0) -> [String, Addrinfo] (18138.0)

ソケットからデータを受け取ります。

...t::MSG_* という定数の bitwise OR を渡します。
詳しくは recvfrom(2) を参照してください。

@param maxlen ソケットから受けとるデータの最大値
@param flags フラグ
@raise Errno::EXXX recvfrom(2) がエラーを報告した場合に発生します。詳しく...
....send("foo", 0, s1.getsockname)
mesg, sockaddr = s1.recvfrom(10)
p
mesg #=> "foo"
p
sockaddr #=> "\002\000\200r\177\000\000\001\000\000\000\000\000\000\000\000"
p
Socket.unpack_sockaddr_in(sockaddr) #=> [32882, "127.0.0.1"...

UNIXSocket#recvfrom(maxlen, flags = 0) -> [String [String, String]] (18130.0)

recvfrom(2) を用いてソケットからメッセージを受け取ります。

...recvfrom(2) を用いてソケットからメッセージを受け取ります。

maxlen で受け取るメッセージの最大長をバイト数で指定します。

flags には Socket::MSG_* という名前の定数の bitwise OR を渡します。

戻り値は文字列と相手ソケット...
...のパスのペアです。

例:

require 'socket'

UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
s = serv.accept
s.send "a", 0
p
c.recvfrom(10)[0] #=> "a"
}

@param maxlen 受け取るメッセージの最大長
@param flags フラグ...

UDPSocket#recvfrom_nonblock(maxlen, flags=0) -> [String, Array] (9154.0)

ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。

...モードに設定した後、
recvfrom
(2) でソケットからデータを受け取ります。

maxlen で受け取るデータの最大バイト数を指定します。

flags はフラグで、Socket::MSG_* の bitwise OR を渡します。
詳しくは recvfrom(2) を参照してください...
...

返り値はデータの文字列と送り元のアドレス情報の
2要素の配列となります。

recvfrom
(2) がエラーになった場合、
Errno::EAGAIN, Errno::EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Errno::EAGAIN のような待ってからリ...
...

require 'socket'
s1 = UDPSocket.new
s1.bind("127.0.0.1", 0)
s2 = UDPSocket.new
s2.bind("127.0.0.1", 0)
s2.connect(*s1.addr.values_at(3,1))
s1.connect(*s2.addr.values_at(3,1))
s1.send "aaa", 0
begin # emulate blocking recvfrom
p
s2.recvfrom_nonblock(10)
#=> ["aaa", ["...

UDPSocket#connect(host, port) -> 0 (3113.0)

ソケットを host の port に connect(2) します。

... port に connect(2) します。

これによって UDPSocket#send で送り先のアドレスを指定せずに
データを送ることができます(connect しなくとも送り先のアドレスを明示すれば
データを送ることができます)。

require 'socket'

u1 = UDPSock...
...et.new
u1.bind("127.0.0.1", 4913)
u2 = UDPSocket.new
u2.connect("127.0.0.1", 4913)
u2.send "uuuu", 0
p
u1.recvfrom(10) #=> ["uuuu", ["AF_INET", 33230, "localhost", "127.0.0.1"]]

@param host 接続するホスト名文字列
@param port 接続するポート番号...

絞り込み条件を変える

BasicSocket#recv(maxlen, flags = 0) -> String (25.0)

ソケットからデータを受け取り、文字列として返します。 maxlen は受け取る最大の長さを指定します。 flags については recv(2) を参照してください。flags の デフォルト値は 0 です。flags の指定に必要な定数は Socket クラスで定義されています。(例: Socket::MSG_PEEK)

...G_PEEK)

内部で呼び出す recv(2) が 0 を返した場合、このメソッドは "" を返します。
この意味はソケットによって異なります。
たとえば TCP では EOF を意味しますし、
UDP では空のパケットを読み込んだことを意味します。

@par...
...

@param flags recv(2) を参照してください。

@raise IOError

@raise Errno::EXXX recvfrom(2) がエラーになった場合などに発生します。

例:

require 'socket'

s1, s2 = UNIXSocket.pair
s1.write "a"
s1.close
p
s2.recv(10, Socket::MSG_PEEK) #=> "a"
p
s2.recv(1...
...0) #=> "a"
p
s2.recv(10) #=> ""...