144件ヒット
[1-100件を表示]
(0.028秒)
クラス
- BasicSocket (60)
- Socket (12)
- UDPSocket (48)
- UNIXServer (12)
- UNIXSocket (12)
キーワード
-
accept
_ nonblock (12) -
connect
_ nonblock (12) - getpeereid (12)
-
recvfrom
_ nonblock (12) - recvmsg (12)
- send (48)
-
send
_ io (12) - sendmsg (12)
-
sendmsg
_ nonblock (12)
検索結果
先頭5件
- BasicSocket
# send(mesg , flags , dest _ sockaddr = nil) -> Integer - BasicSocket
# sendmsg(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer - BasicSocket
# sendmsg _ nonblock(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer - UDPSocket
# send(mesg , flags) -> Integer - UDPSocket
# send(mesg , flags , host , port) -> Integer
-
BasicSocket
# send(mesg , flags , dest _ sockaddr = nil) -> Integer (6103.0) -
ソケットを介してデータを送ります。flags に関しては send(2) を参照してください。connect していないソケット に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ たデータの長さを返します。
...ソケットを介してデータを送ります。flags に関しては
send(2) を参照してください。connect していないソケット
に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ
たデータの長さを返します。
dest_soc......lags send(2) の flags を参照してください。
@param dest_sockaddr 「ソケットアドレス構造体を pack した文字列」を指定します。
@raise Errno::EXXX データの送信に失敗した場合に発生します。
例:
require 'socket'
s = UDPSocket.new
soc......kaddr = Socket.sockaddr_in("discard", "localhost")
s.send("The king has donkey ears!", 0, sockaddr)... -
BasicSocket
# sendmsg(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (6103.0) -
sendmsg(2) を用いてメッセージを送ります。
...sendmsg(2) を用いてメッセージを送ります。
このメソッドはブロックします。ノンブロッキング方式で通信したい
場合は BasicSocket#sendmsg_nonblock を用います。
ソケットが connection-less の場合は dest_sockaddr で
通信先のアドレス......を指定しなければなりません。Socket.sockaddr_in
の返り値や Addrinfo オブジェクトを引数として渡すことができます。
controls には 補助データ(ancillary data)を渡します。
Socket::AncillaryData のインスタンスや
3要素(cmsg_level, cmsg_type, cm......# UnixSocket#send_io の実装例
# use Socket::AncillaryData.
require 'socket'
ancdata = Socket::AncillaryData.int(:UNIX, :SOCKET, :RIGHTS, io.fileno)
sock.sendmsg("a", 0, nil, ancdata)
# use 3-element array.
ancdata = [:SOCKET, :RIGHTS, [io.fileno].pack("i!")]
sock.sendmsg("\0"... -
BasicSocket
# sendmsg _ nonblock(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (6103.0) -
sendmsg(2) を用いてノンブロッキング方式でメッセージを送ります。
...sendmsg(2) を用いてノンブロッキング方式でメッセージを送ります。
詳しくは BasicSocket#sendmsg を見てください。
@return 送ったバイト数
@param mesg メッセージ文字列
@param flags フラグ(Socket::MSG_* という定数の bitwise OR を取ったも......の)
@param dest_sockaddr 通信先のアドレス
@param controls 補助データの配列
@see BasicSocket#sendmsg... -
UDPSocket
# send(mesg , flags) -> Integer (6103.0) -
UDP ソケットを介してデータを送ります。
...ります。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しい意味は send(2) を参照してください。
host, port の対、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
先......ckaddr_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 (6103.0) -
UDP ソケットを介してデータを送ります。
...ります。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しい意味は send(2) を参照してください。
host, port の対、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
先......ckaddr_to にはlib:socket#pack_string もしくは
Addrinfo オブジェクトを指定します。
host, port に関しては lib:socket#host_format、
lib:socket#service_formatを参照してください。
2 引数、3 引数の形式の場合の動作は、
BasicSocket#send と同じです。... -
UDPSocket
# send(mesg , flags , sockaddr _ to) -> Integer (6103.0) -
UDP ソケットを介してデータを送ります。
...ります。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しい意味は send(2) を参照してください。
host, port の対、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
先......ckaddr_to にはlib:socket#pack_string もしくは
Addrinfo オブジェクトを指定します。
host, port に関しては lib:socket#host_format、
lib:socket#service_formatを参照してください。
2 引数、3 引数の形式の場合の動作は、
BasicSocket#send と同じです。... -
UNIXSocket
# send _ io(io) -> nil (6103.0) -
引数 io に対応するファイルディスクリプタをソケットの接続先に送ります。
...引数 io に対応するファイルディスクリプタをソケットの接続先に送ります。
require 'socket'
s1, s2 = UNIXSocket.pair
s1.send_io STDOUT
stdout = s2.recv_io
p STDOUT.fileno #=> 1
p stdout.fileno #=> 6
stdout.puts "hello" # outputs "hello\n" to stan... -
Socket
# connect _ nonblock(server _ sockaddr) -> 0 (15.0) -
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
...後、
connect(2) を呼び出します。
引数、返り値は Socket#connect と同じです。
connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend されます。
これを connect_nonblock をリトライするた......eb page
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 han......dshake 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
# getpeereid -> [Integer , Integer] (9.0) -
Unix ドメインソケットにおいて接続相手の euid と egid を 返します。
...です。
require 'socket'
Socket.unix_server_loop("/tmp/sock") {|s|
begin
euid, egid = s.getpeereid
# Check the connected client is myself or not.
next if euid != Process.uid
# do something about my resource.
ensure
s.close
end
}...