るりまサーチ

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

別のキーワード

  1. exxx new
  2. exxx errno
  3. _builtin exxx
  4. new errno::exxx
  5. send errno::exxx

ライブラリ

クラス

キーワード

検索結果

<< 1 2 > >>

IPSocket#addr -> Array (18120.0)

ソケットの接続情報を表す配列を返します。配列の各要素は第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...

IPSocket#peeraddr -> Array (6129.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"]
}...

BasicSocket#send(mesg, flags, dest_sockaddr = nil) -> Integer (113.0)

ソケットを介してデータを送ります。flags に関しては send(2) を参照してください。connect していないソケット に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ たデータの長さを返します。

...ある dest_sockaddr を指定する必要があります。実際に送っ
たデータの長さを返します。

dest_sockaddr には「ソケットアドレス構造体を pack した文字列」
を指定します。

データの送信に失敗した場合は例外 Errno::EXXX が発生しま...
...さい。

@param dest_sockaddr 「ソケットアドレス構造体を pack した文字列」を指定します。

@raise Errno::EXXX データの送信に失敗した場合に発生します。

例:

require 'socket'

s = UDPSocket.new
sockaddr = Socket.sockaddr_in("discard", "localhost"...
...)
s.send("The king has donkey ears!", 0, sockaddr)...

Socket#recvfrom_nonblock(maxlen, flags=0) -> [String, Addrinfo] (113.0)

ソケットをノンブロッキングモードに設定した後、 recvfrom(2) を呼び出します。

...

引数、返り値は Socket#recvfrom と同じです。

recvfrom(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Errno::EAGAIN のような待ってからリトライすることが
可能であることを意味する...
...例外には、IO::WaitReadable が extend
されています。

@param maxlen ソケットから受けとるデータの最大値
@param flags フラグ
@raise Errno::EXXX recvfrom(2) がエラーを報告した場合に発生します。詳しくは
man を参照してください...

Socket#connect(server_sockaddr) -> 0 (107.0)

connect(2) でソケットを接続します。

...connect(2) でソケットを接続します。

server_sockaddr は、
lib:socket#pack_string
もしくは Addrinfo オブジェクト
です。

0 を返します。

@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラーを報告した場合に発生します。...
...connect で www.ruby-lang.org:80 に接続するには以下のようにします。

例:

require 'socket'

s = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(80, "www.ruby-lang.org")
s.connect(sockaddr)
s.write "GET / HTTP/1.0\r\n\r\n"
print s.read...

絞り込み条件を変える

Socket#connect_nonblock(server_sockaddr) -> 0 (107.0)

ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。

...OCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(80, 'www.google.com')
begin # emulate blocking connect
socket.connect_nonblock(sockaddr)
rescue IO::WaitWritable
IO.select(nil, [socket]) # wait 3-way handshake completion
begin
socket.connect_nonblock(sockaddr) # check connection...
...ilure
rescue Errno::EISCONN
end
end
socket.write("GET / HTTP/1.0\r\n\r\n")
results = socket.read



@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラーを報告した場合に発生します。詳しくは
man を参照してください。...

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

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

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

require 'socket'

s1 = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
s2 = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
s1.bind(Socket.sockaddr_...
...nd("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"]...

UDPSocket#send(mesg, flags, sockaddr_to) -> Integer (107.0)

UDP ソケットを介してデータを送ります。

...、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
先にデータを送ります。

実際に送ったデータの長さを返します。

sockaddr_to にはlib:socket#pack_string もしくは
Addr
info オブジェク...
...を順に試みます。

データの送信に失敗した場合は例外 Errno::EXXX が発生します。

@param mesg 送るデータ文字列
@param flags フラグ
@param host 送り先のホスト名
@param port 送り先のポート番号
@param sockaddr_to 送り先のアドレス情報...

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

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

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

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

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

@raise IOError

@raise Errno::EXXX recvfrom(2) がエラー...
...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.localdomain", "127.0.0.1"]...
<< 1 2 > >>