クラス
- BasicSocket (228)
- IPSocket (12)
- Socket (12)
-
Socket
:: AncillaryData (12) - UDPSocket (48)
キーワード
- bind (12)
-
connect
_ address (12) -
do
_ not _ reverse _ lookup (12) -
do
_ not _ reverse _ lookup= (12) - getpeereid (12)
- getpeername (12)
- getsockname (12)
- getsockopt (12)
-
local
_ address (12) - recv (12)
-
recv
_ nonblock (12) - recvfrom (24)
- recvmsg (12)
-
recvmsg
_ nonblock (12) -
remote
_ address (12) - send (48)
- sendmsg (12)
-
sendmsg
_ nonblock (12) - setsockopt (24)
- shutdown (12)
-
unix
_ rights (12)
検索結果
先頭5件
-
BasicSocket
# recv(maxlen , flags = 0) -> String (24103.0) -
ソケットからデータを受け取り、文字列として返します。 maxlen は受け取る最大の長さを指定します。 flags については recv(2) を参照してください。flags の デフォルト値は 0 です。flags の指定に必要な定数は Socket クラスで定義されています。(例: Socket::MSG_PEEK)
...指定に必要な定数は
Socket クラスで定義されています。(例: Socket::MSG_PEEK)
内部で呼び出す recv(2) が 0 を返した場合、このメソッドは "" を返します。
この意味はソケットによって異なります。
たとえば TCP では EOF を意味し......@raise Errno::EXXX recvfrom(2) がエラーになった場合などに発生します。
例:
require 'socket'
s1, s2 = UNIXSocket.pair
s1.write "a"
s1.close
p s2.recv(10, Socket::MSG_PEEK) #=> "a"
p s2.recv(10) #=> "a"
p s2.recv(10) #=> ""... -
BasicSocket
# send(mesg , flags , dest _ sockaddr = nil) -> Integer (24103.0) -
ソケットを介してデータを送ります。flags に関しては send(2) を参照してください。connect していないソケット に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ たデータの長さを返します。
...send(2) を参照してください。connect していないソケット
に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ
たデータの長さを返します。
dest_sockaddr にはlib:socket#pack_string
を指定します。
データの送......ださい。
@param dest_sockaddr lib:socket#pack_stringを指定します。
@raise Errno::EXXX データの送信に失敗した場合に発生します。
例:
require 'socket'
s = UDPSocket.new
sockaddr = Socket.sockaddr_in("discard", "localhost")
s.send("The king has donkey ears!"... -
BasicSocket
# local _ address -> Addrinfo (24009.0) -
getsockname(2) で得られたローカルアドレス情報を Addrinfo オブジェクトとして返します。
...getsockname(2) で得られたローカルアドレス情報を
Addrinfo オブジェクトとして返します。
返されたオブジェクトの Addrinfo#protocol は 0 を
返すことに注意してください。
require 'socket'
TCPSocket.open("www.ruby-lang.org", 80) {|s|
p s.lo......cal_address #=> #<Addrinfo: 192.168.0.129:36873 TCP>
}
TCPServer.open("127.0.0.1", 1512) {|serv|
p serv.local_address #=> #<Addrinfo: 127.0.0.1:1512 TCP>
}
@see BasicSocket#getsockname... -
Socket
:: AncillaryData # unix _ rights -> [IO] | nil (6109.0) -
Unix domain socket の SCM_RIGHTS 制御メッセージに含まれる ファイルディスクリプタを IO オブジェクトの配列として返します。
...Unix domain socket の SCM_RIGHTS 制御メッセージに含まれる
ファイルディスクリプタを IO オブジェクトの配列として返します。
得られる IO オブジェクトか IO か Socket です。
この配列は Socket::AncillaryData が初期化されたときに
作......られます。例えば BasicSocket#recvmsg を :scm_rights => true
オプションを付けて呼びだし、
SCM_RIGHTS な 制御メッセージを受け取ったときに配列が作られます。
適切なオプションを指定しなかった場合は配列は生成されず、
このメ......'socket'
# recvmsg needs :scm_rights=>true for unix_rights
s1, s2 = UNIXSocket.pair
p s1 #=> #<UNIXSocket:fd 3>
s1.sendmsg "stdin and a socket", 0, nil, Socket::AncillaryData.unix_rights(STDIN, s1)
_, _, _, ctl = s2.recvmsg(:scm_rights=>true)
p ct... -
Socket
# recvfrom(maxlen , flags=0) -> [String , Addrinfo] (3109.0) -
ソケットからデータを受け取ります。
...ソケットからデータを受け取ります。
BasicSocket#recv と同様ですが、返り値として
データ文字列と相手ソケットのアドレスのペアが返されます。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しくは recvfrom(2)......no と 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_in(0, "0.0.0.0"))
s2.send("foo", 0, s1.getsockname)
mesg, sockaddr = s1.recvfrom(10)
p mes......g #=> "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
# bind(host , port) -> 0 (3109.0) -
ソケットを host の port に bind(2) します。
...ソケットを host の port に bind(2) します。
bind したポートから BasicSocket#recv でデータを受け取ることができます。
@param host bind するホスト名文字列
@param port bind するポート番号... -
UDPSocket
# send(mesg , flags) -> Integer (3109.0) -
UDP ソケットを介してデータを送ります。
...ます。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しい意味は send(2) を参照してください。
host, port の対、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
先に......。
sockaddr_to にはlib:socket#pack_string もしくは
Addrinfo オブジェクトを指定します。
host, port に関しては lib:socket#host_format、
lib:socket#service_formatを参照してください。
2 引数、3 引数の形式の場合の動作は、
BasicSocket#send と同じ......を順に試みます。
データの送信に失敗した場合は例外 Errno::EXXX が発生します。
@param mesg 送るデータ文字列
@param flags フラグ
@param host 送り先のホスト名
@param port 送り先のポート番号
@param sockaddr_to 送り先のアドレス情報... -
UDPSocket
# send(mesg , flags , host , port) -> Integer (3109.0) -
UDP ソケットを介してデータを送ります。
...ます。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しい意味は send(2) を参照してください。
host, port の対、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
先に......。
sockaddr_to にはlib:socket#pack_string もしくは
Addrinfo オブジェクトを指定します。
host, port に関しては lib:socket#host_format、
lib:socket#service_formatを参照してください。
2 引数、3 引数の形式の場合の動作は、
BasicSocket#send と同じ......を順に試みます。
データの送信に失敗した場合は例外 Errno::EXXX が発生します。
@param mesg 送るデータ文字列
@param flags フラグ
@param host 送り先のホスト名
@param port 送り先のポート番号
@param sockaddr_to 送り先のアドレス情報... -
UDPSocket
# send(mesg , flags , sockaddr _ to) -> Integer (3109.0) -
UDP ソケットを介してデータを送ります。
...ます。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しい意味は send(2) を参照してください。
host, port の対、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
先に......。
sockaddr_to にはlib:socket#pack_string もしくは
Addrinfo オブジェクトを指定します。
host, port に関しては lib:socket#host_format、
lib:socket#service_formatを参照してください。
2 引数、3 引数の形式の場合の動作は、
BasicSocket#send と同じ......を順に試みます。
データの送信に失敗した場合は例外 Errno::EXXX が発生します。
@param mesg 送るデータ文字列
@param flags フラグ
@param host 送り先のホスト名
@param port 送り先のポート番号
@param sockaddr_to 送り先のアドレス情報...