るりまサーチ

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

別のキーワード

  1. socket bind
  2. addrinfo bind
  3. udpsocket bind
  4. etc sc_2_c_bind
  5. resolv-replace bind

クラス

キーワード

検索結果

UDPSocket#bind(host, port) -> 0 (18150.0)

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

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

bind
したポートから BasicSocket#recv でデータを受け取ることができます。

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

Socket#bind(my_sockaddr) -> 0 (18132.0)

ソケットを my_sockaddr に結合します。bind(2) と同じ働きをします。

...ソケットを my_sockaddr に結合します。bind(2)
と同じ働きをします。

@
param my_sockaddr lib:socket#pack_stringもしくはAddrinfoオブジェクトを指定します。
@
return 0 を返します。...

IPSocket#recvfrom(maxlen, flags = 0) -> Array (33.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 #=> "...

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

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

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

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

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

返り値はデータの文字列と送り元の...
...であることを意味する例外には、IO::WaitReadable が extend
されています。

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"...
...emulate blocking recvfrom
p s2.recvfrom_nonblock(10)
#=> ["aaa", ["AF_INET", 33302, "localhost.localdomain", "127.0.0.1"]]
rescue IO::WaitReadable
IO.select([s2])
retry
end

@
param maxlen 受け取るデータの最大バイト数
@
param flags フラグ
@
see IPSocket#recvfrom...

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

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

...す。

BasicSocket#recv と同様ですが、返り値として
データ文字列と相手ソケットのアドレスのペアが返されます。

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

@
param maxlen...
...
@
param flags フラグ
@
raise Errno::EXXX recvfrom(2) がエラーを報告した場合に発生します。詳しくは
Errno と man を見てください。
例:

require 'socket'

s1 = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
s2 = Socket.new(Socket::AF_INET, Socket::SO...
...)
s1.bind(Socket.sockaddr_in(0, "0.0.0.0"))
s2.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...

絞り込み条件を変える

Socket::AncillaryData#timestamp -> Time (21.0)

タイムスタンプ制御メッセージに含まれる時刻を Time オブジェクト で返します。

...SOCKET/SCM_TIMESTAMP (micro second) GNU/Linux, FreeBSD, NetBSD, OpenBSD, Solaris, MacOS X
* SOL_SOCKET/SCM_TIMESTAMPNS (nano second) GNU/Linux
* SOL_SOCKET/SCM_BINTIME (2**(-64) second) FreeBSD

require 'socket'

Addrinfo.udp("127.0.0.1", 0).bind {|s1|
Addrinfo.udp("127.0.0.1", 0).bind...
...{|s2|
s1.setsockopt(:SOCKET, :TIMESTAMP, true)
s2.send "a", 0, s1.local_address
ctl = s1.recvmsg.last
p ctl
#=> #<Socket::AncillaryData: INET SOCKET TIMESTAMP 2009-02-24 17:35:46.775581>
t = ctl.timestamp
p t #=> 2009-02-24 17:35:46 +0900
p t...
....usec #=> 775581
p t.nsec #=> 775581000
}
}

@
see Socket::Constants::SCM_TIMESTAMP,
Socket
::Constants::SCM_TIMESTAMPNS,
Socket
::Constants::SCM_BINTIME,
Socket
::Constants::SO_TIMESTAMP,
Socket
::Constants::SO_TIMESTAMPNS,
Socket
::Constants::SO_BINTIME...

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

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

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

require 'socket'

u1 = UDPSocket.new
u1.bind("127.0.0.1", 4913)
u2 = UDPSocket.n...
...ew
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 接続するポート番号...