るりまサーチ

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

別のキーワード

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

ライブラリ

クラス

キーワード

検索結果

Addrinfo#bind -> Socket (18121.0)

自身のアドレスにバインドされたソケットを作成します。

...がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。

require 'socket'

Addrinfo.udp("0.0.0.0", 9981).bind {|s|
s.local_address.connect {|s| s.send "hello", 0 }
p
s.recv(10) #=> "hello"
}...

Addrinfo#bind {|sock| ... } -> object (18121.0)

自身のアドレスにバインドされたソケットを作成します。

...がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。

require 'socket'

Addrinfo.udp("0.0.0.0", 9981).bind {|s|
s.local_address.connect {|s| s.send "hello", 0 }
p
s.recv(10) #=> "hello"
}...

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

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

...M_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|...
...pt(: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 (3125.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 接続するポート番号...

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

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

...は文字列と相手ソケットのアドレス (形式は
IPSocket#addr 参照) のペアです。引数につ
いては BasicSocket#recv と同様です。

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

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

@raise IOEr...
...す。

例:

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...

絞り込み条件を変える

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

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

...ます。

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)
#=> ["aa...
...a", ["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] (31.0)

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

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

@param maxlen ソケットから受けとるデータの最大値
@param flags フラグ
@raise Errno::EXXX recvfrom(2) がエラーを報告した場合に発生します。詳しく...
...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_s...