種類
- 定数 (110)
- インスタンスメソッド (99)
クラス
- BasicSocket (33)
- Socket (88)
- TCPServer (11)
- UDPSocket (11)
- UNIXServer (11)
モジュール
-
Socket
:: Constants (55)
キーワード
-
IP
_ BLOCK _ SOURCE (22) -
IP
_ UNBLOCK _ SOURCE (22) -
MCAST
_ BLOCK _ SOURCE (22) -
MCAST
_ UNBLOCK _ SOURCE (22) -
TCP
_ NOPUSH (22) -
accept
_ nonblock (33) -
connect
_ nonblock (11) -
recv
_ nonblock (11) -
recvfrom
_ nonblock (22) -
recvmsg
_ nonblock (11) -
sendmsg
_ nonblock (11)
検索結果
先頭5件
-
Socket
:: Constants :: IP _ BLOCK _ SOURCE -> Integer (6219.0) -
Block IPv4 multicast packets with a give source address。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Block IPv4 multicast packets with a give source address。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP,
ip(4freebsd)... -
Socket
:: Constants :: MCAST _ BLOCK _ SOURCE -> Integer (6219.0) -
Block multicast packets from this source
...Block multicast packets from this source
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP, Socket::Constants::IPPROTO_IPV6,
3678... -
Socket
:: IP _ BLOCK _ SOURCE -> Integer (6219.0) -
Block IPv4 multicast packets with a give source address。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Block IPv4 multicast packets with a give source address。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP,
ip(4freebsd)... -
Socket
:: MCAST _ BLOCK _ SOURCE -> Integer (6219.0) -
Block multicast packets from this source
...Block multicast packets from this source
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP, Socket::Constants::IPPROTO_IPV6,
3678... -
Socket
# connect _ nonblock(server _ sockaddr) -> 0 (6208.0) -
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
...呼び出します。
引数、返り値は Socket#connect と同じです。
connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend されます。
これを connect_nonblock をリトライするために使うことが......e
require '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)
rescue IO::WaitWritable
IO.select(nil, [socket]) # wait 3-way handshake......completion
begin
socket.connect_nonblock(sockaddr) # check connection failure
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) がエラーを報告した... -
BasicSocket
# recv _ nonblock(maxlen , flags = 0) -> String (6202.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。
...ンブロッキングモードに設定した後、
recvfrom(2) でソケットからデータを受け取ります。
引数、返り値は BasicSocket#recv と同じです。
recvfrom(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
@param max... -
BasicSocket
# recvmsg _ nonblock(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (6202.0) -
recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。
...recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。
ブロッキングの有無以外は BasicSocket#recvmsg と同じです。
詳しくはそちらを参照してください。
@param maxmesglen 受け取るメッセージの最大長
@param flags... -
BasicSocket
# sendmsg _ nonblock(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (6202.0) -
sendmsg(2) を用いてノンブロッキング方式でメッセージを送ります。
...cSocket#sendmsg を見てください。
@return 送ったバイト数
@param mesg メッセージ文字列
@param flags フラグ(Socket::MSG_* という定数の bitwise OR を取ったもの)
@param dest_sockaddr 通信先のアドレス
@param controls 補助データの配列
@see BasicSocket#... -
Socket
# accept _ nonblock -> Array (6202.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
...ソケットをノンブロッキングモードに設定した後、
accept(2) を呼び出します。
引数、返り値は Socket#accept と同じです。
accept(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。... -
Socket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Addrinfo] (6202.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) を呼び出します。
...後、
recvfrom(2) を呼び出します。
引数、返り値は Socket#recvfrom と同じです。
recvfrom(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Errno::EAGAIN のような待ってからリトライすること...