別のキーワード
クラス
- 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 (9003.0) -
ソケットからデータを受け取り、文字列として返します。 maxlen は受け取る最大の長さを指定します。 flags については recv(2) を参照してください。flags の デフォルト値は 0 です。flags の指定に必要な定数は Socket クラスで定義されています。(例: Socket::MSG_PEEK)
...は recv(2) を参照してください。flags の
デフォルト値は 0 です。flags の指定に必要な定数は
Socket クラスで定義されています。(例: Socket::MSG_PEEK)
内部で呼び出す recv(2) が 0 を返した場合、このメソッドは "" を返します。
この......@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 (9003.0) -
ソケットを介してデータを送ります。flags に関しては send(2) を参照してください。connect していないソケット に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ たデータの長さを返します。
...socket#pack_string
を指定します。
データの送信に失敗した場合は例外 Errno::EXXX が発生します。
@param mesg 送信するデータを文字列で指定します。
@param flags send(2) の flags を参照してください。
@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!", 0, sockaddr)... -
BasicSocket
# shutdown(how = Socket :: SHUT _ RDWR) -> 0 (9003.0) -
ソケットの以降の接続を終了させます。
...接続が終了します。
* Socket::SHUT_RD: それ以降の受信が拒否されます
* Socket::SHUT_WR: それ以降の送信が拒否されます
* Socket::SHUT_RDWR: それ以降の送信、受信ともに拒否されます
how を省略すると Socket::SHUT_RDWR を指定したこ......とになります。
shutdown(2) を参照してください。
@param how 接続の終了の仕方を Socket::SHUT_RD, Socket::SHUT_WR, Socket::SHUT_RDWR などで指定します。
@raise Errno::EXXX ソケットの以降の接続を終了操作が失敗した場合に発生します。
@raise... -
IPSocket
# recvfrom(maxlen , flags = 0) -> Array (19.0) -
recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのアドレス (形式は IPSocket#addr 参照) のペアです。引数につ いては BasicSocket#recv と同様です。
...からデータを受け取りますが、
戻り値は文字列と相手ソケットのアドレス (形式は
IPSocket#addr 参照) のペアです。引数につ
いては BasicSocket#recv と同様です。
@param maxlen 受け取る文字列の最大の長さを指定します。
@param flags......X recvfrom(2) がエラーになった場合などに発生します。
例:
require '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... -
Socket
# recvfrom(maxlen , flags=0) -> [String , Addrinfo] (9.0) -
ソケットからデータを受け取ります。
...ソケットからデータを受け取ります。
BasicSocket#recv と同様ですが、返り値として
データ文字列と相手ソケットのアドレスのペアが返されます。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しくは 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_in(0, "0.0.0.0"))
s2.send("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"]... -
Socket
:: AncillaryData # unix _ rights -> [IO] | nil (9.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 な 制御メッセージを受け取ったときに配列が作られます。
適切なオプションを指定しなかった場合は配列は生成されず、
このメ......ッドは nil を返します。
require '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)
_, _, _... -
UDPSocket
# bind(host , port) -> 0 (9.0) -
ソケットを host の port に bind(2) します。
...ソケットを host の port に bind(2) します。
bind したポートから BasicSocket#recv でデータを受け取ることができます。
@param host bind するホスト名文字列
@param port bind するポート番号... -
UDPSocket
# send(mesg , flags) -> Integer (9.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 と同じです... -
UDPSocket
# send(mesg , flags , host , port) -> Integer (9.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 と同じです...