るりまサーチ

最速Rubyリファレンスマニュアル検索!
55件ヒット [1-55件を表示] (0.116秒)
トップページ > クエリ:-[x] > クエリ:r[x] > ライブラリ:socket[x] > クエリ:AF_INET[x] > クエリ:connect[x]

別のキーワード

  1. socket af_inet
  2. socket af_cnt
  3. socket af_dec
  4. socket af_packet
  5. socket af_ccitt

クラス

キーワード

検索結果

Socket#connect(server_sockaddr) -> 0 (18367.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 に接続するには以下のようにします。

例:

r
equire '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.rea...

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

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

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

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

r
equire 'socket'

u1 = UDPSocket...
....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 接続するポート番号...

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

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

...設定した後、
connect
(2) を呼び出します。

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

connect
が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend されます。
これを connect_nonblock をリトラ...
...eb page
r
equire 'socket'
include Socket::Constants
socket
= Socket.new(AF_INET, SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(80, 'www.google.com')
begin # emulate blocking connect
socket
.connect_nonblock(sockaddr)
r
escue IO::WaitWritable
IO.select(nil, [socket]) # wait 3-way han...
...dshake completion
begin
socket
.connect_nonblock(sockaddr) # check connection failure
r
escue Errno::EISCONN
end
end
socket
.write("GET / HTTP/1.0\r\n\r\n")
r
esults = socket.read



@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラーを報告...

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

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

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

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

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

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

r
equire '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)...

Addrinfo.new(sockaddr, family=Socket::PF_UNSPEC, socktype=0, protocol=0) -> Addrinfo (3244.0)

新たな Addrinfo オブジェクトを返します。

...新たな Addrinfo オブジェクトを返します。

sockaddr connect(2) などで使われるパラメータで、
struct sockaddr に対応します。faimily, socktype, protocol
socket(2) のパラメータに対応します。

sockaddr には文字列もしくは配列を指定し...
...#addr や UNIXSocket#addr
値と互換でなければなりません。
文字列の場合は Socket.sockaddr_in や
Socket
.unpack_sockaddr_un で得られるようなものでなければ
なりません。

実際には sockaddr には以下のようなものが使えます。
* ["AF_INET",...
....0.0.1"]
* ["AF_INET6", 42304, "ip6-localhost", "::1"]
* ["AF_UNIX", "/tmp/sock"]
* Socket.sockaddr_in("smtp", "2001:DB8::1")
* Socket.sockaddr_in(80, "172.18.22.42")
* Socket.sockaddr_in(80, "www.ruby-lang.org")
* Socket.sockaddr_un("/tmp/sock")

配列で AF_INET/AF_INET6 を指定し...

絞り込み条件を変える