ライブラリ
- openssl (24)
- socket (60)
-
webrick
/ httprequest (24)
クラス
- BasicSocket (12)
- IPSocket (36)
- UDPSocket (12)
-
WEBrick
:: HTTPRequest (24)
モジュール
キーワード
- peeraddr (36)
- recvfrom (12)
-
recvfrom
_ nonblock (12) - sendmsg (12)
検索結果
先頭5件
-
WEBrick
:: HTTPRequest # addr -> Array (21219.0) -
クライアントと接続されているソケットの IPSocket#addr を返します。
...クライアントと接続されているソケットの IPSocket#addr を返します。... -
IPSocket
# addr -> Array (21215.0) -
ソケットの接続情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_INET", "AF_INET6" など、第2要素が port 番号、第3要素がホストを表 す文字列、第4要素がホストの IP アドレスを表す文字列 (octet decimal や hexadecimal) です。
...要素は第1要
素が文字列 "AF_INET", "AF_INET6" など、第2要素が port 番号、第3要素がホストを表
す文字列、第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... -
OpenSSL
:: SSL :: SocketForwarder # addr -> Array (21209.0) -
ラップされているソケットの接続情報を返します。
...ラップされているソケットの接続情報を返します。
IPSocket#addr と同様です。... -
IPSocket
# peeraddr -> Array (9224.0) -
接続相手先ソケットの情報を表す配列を返します。配列の各要素は IPSocket#addr メソッドが返す配列 と同じです。
...要素は
IPSocket#addr メソッドが返す配列
と同じです。
@raise Errno::EXXX getpeername(2) が 0 未満の値を返した場合に発生します。
例:
require 'socket'
TCPSocket.open("localhost", "http") {|s|
p s.peeraddr #=> ["AF_INET", 80, "localhost.localdomain", "......127.0.0.1"]
p s.addr #=> ["AF_INET", 52615, "localhost.localdomain", "127.0.0.1"]
}... -
OpenSSL
:: SSL :: SocketForwarder # peeraddr -> Array (9202.0) -
ラップされているソケットの接続先相手の情報を返します。
...ラップされているソケットの接続先相手の情報を返します。
IPSocket#peeraddr と同様です。... -
WEBrick
:: HTTPRequest # peeraddr -> Array (9202.0) -
クライアントと接続されているソケットの IPSocket#peeraddr を返します。
...クライアントと接続されているソケットの IPSocket#peeraddr を返します。... -
UDPSocket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Array] (3214.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。
...で、Socket::MSG_* の bitwise OR を渡します。
詳しくは recvfrom(2) を参照してください。
返り値はデータの文字列と送り元のアドレス情報の
2要素の配列となります。
recvfrom(2) がエラーになった場合、
Errno::EAGAIN, Errno::EINTR を含め......には、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", 0
begin # emulate blocking recvf......rom
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... -
BasicSocket
# sendmsg(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (3207.0) -
sendmsg(2) を用いてメッセージを送ります。
...sicSocket#sendmsg_nonblock を用います。
ソケットが connection-less の場合は dest_sockaddr で
通信先のアドレスを指定しなければなりません。Socket.sockaddr_in
の返り値や Addrinfo オブジェクトを引数として渡すことができます。
controls に......data)を渡します。
Socket::AncillaryData のインスタンスや
3要素(cmsg_level, cmsg_type, cmsg_data) の配列を用いることができます。
送ったバイト数を返します。
# UnixSocket#send_io の実装例
# use Socket::AncillaryData.
require 'socket'
ancdata =......Socket::AncillaryData.int(:UNIX, :SOCKET, :RIGHTS, io.fileno)
sock.sendmsg("a", 0, nil, ancdata)
# use 3-element array.
ancdata = [:SOCKET, :RIGHTS, [io.fileno].pack("i!")]
sock.sendmsg("\0", 0, nil, ancdata)
@param mesg メッセージ文字列
@param flags フラグ(Socket::MSG_* と... -
IPSocket
# recvfrom(maxlen , flags = 0) -> Array (3130.0) -
recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのアドレス (形式は IPSocket#addr 参照) のペアです。引数につ いては BasicSocket#recv と同様です。
...らデータを受け取りますが、
戻り値は文字列と相手ソケットのアドレス (形式は
IPSocket#addr 参照) のペアです。引数につ
いては BasicSocket#recv と同様です。
@param maxlen 受け取る文字列の最大の長さを指定します。
@param flags re......quire '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, "localhost.localdomai...