別のキーワード
ライブラリ
- ビルトイン (2)
- etc (1)
- openssl (12)
- socket (52)
-
webrick
/ https (1)
クラス
- BasicSocket (4)
- File (1)
-
OpenSSL
:: SSL :: SSLSocket (10) - Socket (17)
-
Socket
:: AncillaryData (2) -
Socket
:: Option (13) - UDPSocket (1)
- UNIXServer (1)
- UNIXSocket (2)
-
WEBrick
:: HTTPRequest (1)
モジュール
- Etc (1)
- FileTest (1)
-
OpenSSL
:: SSL :: SocketForwarder (1) -
Socket
:: Constants (8)
キーワード
-
AF
_ NETBIOS (2) - IPSocket (1)
-
IP
_ OPTIONS (2) -
IP
_ PKTOPTIONS (2) - Option (1)
-
PF
_ NETBIOS (2) -
SC
_ RAW _ SOCKETS (1) -
SO
_ PRIORITY (2) -
SO
_ SECURITY _ AUTHENTICATION (2) -
SO
_ SECURITY _ ENCRYPTION _ NETWORK (2) -
SO
_ SECURITY _ ENCRYPTION _ TRANSPORT (2) - SocketForwarder (1)
- TCPSocket (1)
- UNIXSocket (1)
-
accept
_ nonblock (2) - bool (2)
-
connect
_ nonblock (2) - data (1)
- family (1)
- fcntl (1)
- getsockopt (1)
- int (2)
- io (1)
- level (1)
- linger (2)
- new (1)
- optname (1)
- parse (1)
-
post
_ connection _ check (1) -
recv
_ io (1) -
recvfrom
_ nonblock (2) - recvmsg (1)
-
ruby 1
. 6 feature (1) -
send
_ io (1) - sendmsg (1)
- session (1)
- session= (1)
-
session
_ reused? (1) - setsockopt (1)
- socket? (2)
- sysread (1)
- syswrite (1)
-
tcp
_ server _ loop (2) -
to
_ io (1) -
to
_ s (1) -
udp
_ server _ recv (1) - unix (2)
-
unix
_ rights (2) -
unix
_ server _ socket (2) - unpack (1)
検索結果
先頭5件
-
BasicSocket
# setsockopt(socketoption) -> 0 (28027.0) -
ソケットのオプションを設定します。setsockopt(2) を参照してください。
ソケットのオプションを設定します。setsockopt(2)
を参照してください。
level, optname には Socket::SOL_SOCKET や Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。
optval には文字列、整数、真偽値(true or false)を渡すことができます。
文字列の場合には setsockopt(2) にはその文字列と
長さが渡されます。整数の場合はintへのポイン... -
UNIXSocket
# recv _ io(klass=IO , mode=nil) -> Integer|IO|object (27982.0) -
ソケットの接続先からファイルディスクリプタを受け取ります。
ソケットの接続先からファイルディスクリプタを受け取ります。
klass が nil の場合、ファイルディスクリプタが Integer として
返されます。
klass が nil でない場合、
klass.for_fd(fd[, mode]) が呼ばれ、その値が返されます。
例:
require 'socket'
s1, s2 = UNIXSocket.pair
s1.send_io STDOUT
io = s2.recv_io
p File.identical?(io, STDOUT) #=> true
@param klass 受け取ったファイルデ... -
BasicSocket
# getsockopt(level , optname) -> Socket :: Option (27901.0) -
ソケットのオプションを取得します。getsockopt(2) を参照してください。 取得したオプションのデータを Socket::Option で返します。
ソケットのオプションを取得します。getsockopt(2)
を参照してください。
取得したオプションのデータを Socket::Option で返します。
level, optname には Socket::SOL_SOCKET や Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。
@param level getsockopt(2) の 第二引数のlevel
@param optname gets... -
UNIXSocket
# send _ io(io) -> nil (27727.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 standard output.
@param io 送るファイルディスクリプタ(整数 or IOオブジェクト) -
Socket
. unix _ server _ socket(path) -> Socket (27694.0) -
Unix サーバソケットを生成します。
Unix サーバソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
socket = Socket.unix_server_socket("/tmp/s")
p socket #=> #<Socket:fd 3>
p socket.local_address #=> #<... -
Socket
. unix _ server _ socket(path) {|sock| . . . } -> object (27694.0) -
Unix サーバソケットを生成します。
Unix サーバソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
socket = Socket.unix_server_socket("/tmp/s")
p socket #=> #<Socket:fd 3>
p socket.local_address #=> #<... -
OpenSSL
:: SSL :: SSLSocket # io -> IO (27613.0) -
SSLSocket オブジェクトを生成する時に渡されたソケットを返します。
SSLSocket オブジェクトを生成する時に渡されたソケットを返します。
@see OpenSSL::SSL::SSLSocket.new -
OpenSSL
:: SSL :: SSLSocket # to _ io -> IO (27613.0) -
SSLSocket オブジェクトを生成する時に渡されたソケットを返します。
SSLSocket オブジェクトを生成する時に渡されたソケットを返します。
@see OpenSSL::SSL::SSLSocket.new -
OpenSSL
:: SSL :: SSLSocket # session -> OpenSSL :: SSL :: Session (27601.0) -
利用している SSL セッションを OpenSSL::SSL::Session オブジェクトで返します。
利用している SSL セッションを OpenSSL::SSL::Session
オブジェクトで返します。
@see OpenSSL::SSL::SSLSocket#session=,
OpenSSL::SSL::SSLSocket#session_reused? -
OpenSSL
:: SSL :: SSLSocket # post _ connection _ check(hostname) -> true (27301.0) -
接続後検証を行います。
接続後検証を行います。
検証に成功した場合は true を返し、失敗した場合は例外
OpenSSL::SSL::SSLError を発生させます。
OpenSSL の API では、
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
での検証は実用的には不完全です。
CA が証明書に署名してそれが失効していないことしか確認しません。
実用上は証明書に記載されている事項を見て、接続先が妥当であるかを確認する
必要があります。通常は接続先ホストの FQDN と証明書に記載されている FQDN が
一致しているか... -
OpenSSL
:: SSL :: SSLSocket # session=(sess) (27301.0) -
ハンドシェイクで再利用する SSL セッションを 設定します。
ハンドシェイクで再利用する SSL セッションを
設定します。
このメソッドはクライアント側でのみ有用です。
セッションを再利用する場合は、
OpenSSL::SSL::SSLSocket#connect を呼ぶ前に
このメソッドでセッションオブジェクト
(OpenSSL::SSL::Session のインスタンス)
を設定します。
サーバ側の場合 OpenSSL::SSL::SSLContext がキャッシュの保持と
管理を行います。
@param sess 設定するセッション
@see OpenSSL::SSL::SSLSocket#session,
OpenSSL::SS... -
OpenSSL
:: SSL :: SSLSocket # session _ reused? -> bool (27301.0) -
利用している SSL セッションが再利用されたものである 場合に真を返します。
利用している SSL セッションが再利用されたものである
場合に真を返します。
@see OpenSSL::SSL::Session,
OpenSSL::SSL::SSLSocket#session,
OpenSSL::SSL::SSLSocket#session= -
Socket
:: AF _ NETBIOS -> Integer (27301.0) -
@todo NetBIOS。 Socket.open の第一引数 domain に使用します。
@todo
NetBIOS。
Socket.open の第一引数 domain に使用します。 -
Socket
:: Constants :: AF _ NETBIOS -> Integer (27301.0) -
@todo NetBIOS。 Socket.open の第一引数 domain に使用します。
@todo
NetBIOS。
Socket.open の第一引数 domain に使用します。 -
Socket
:: Constants :: IP _ OPTIONS -> Integer (27301.0) -
IP options to be included in packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
IP options to be included in packets。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP,
ip(4freebsd), ip(7linux) -
Socket
:: Constants :: IP _ PKTOPTIONS -> Integer (27301.0) -
@todo Receive packet options with datagrams
@todo
Receive packet options with datagrams -
Socket
:: Constants :: PF _ NETBIOS -> Integer (27301.0) -
@todo NetBIOS。 Socket.open の第一引数 domain に使用します。
@todo
NetBIOS。
Socket.open の第一引数 domain に使用します。 -
Socket
:: Constants :: SO _ PRIORITY -> Integer (27301.0) -
The protocol-defined priority for all packets on this socket。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
The protocol-defined priority for all packets on this socket。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see socket(7linux), ip(7linux) -
Socket
:: Constants :: SO _ SECURITY _ AUTHENTICATION -> Integer (27301.0) -
@todo
@todo -
Socket
:: Constants :: SO _ SECURITY _ ENCRYPTION _ NETWORK -> Integer (27301.0) -
@todo
@todo -
Socket
:: Constants :: SO _ SECURITY _ ENCRYPTION _ TRANSPORT -> Integer (27301.0) -
@todo
@todo -
Socket
:: IP _ OPTIONS -> Integer (27301.0) -
IP options to be included in packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
IP options to be included in packets。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP,
ip(4freebsd), ip(7linux) -
Socket
:: IP _ PKTOPTIONS -> Integer (27301.0) -
@todo Receive packet options with datagrams
@todo
Receive packet options with datagrams -
Socket
:: PF _ NETBIOS -> Integer (27301.0) -
@todo NetBIOS。 Socket.open の第一引数 domain に使用します。
@todo
NetBIOS。
Socket.open の第一引数 domain に使用します。 -
Socket
:: SO _ PRIORITY -> Integer (27301.0) -
The protocol-defined priority for all packets on this socket。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
The protocol-defined priority for all packets on this socket。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see socket(7linux), ip(7linux) -
Socket
:: SO _ SECURITY _ AUTHENTICATION -> Integer (27301.0) -
@todo
@todo -
Socket
:: SO _ SECURITY _ ENCRYPTION _ NETWORK -> Integer (27301.0) -
@todo
@todo -
Socket
:: SO _ SECURITY _ ENCRYPTION _ TRANSPORT -> Integer (27301.0) -
@todo
@todo -
Socket
:: Option (27001.0) -
BasicSocket#getsockopt、BasicSocket#setsockopt で 使うソケットオプションの値を表すクラス。
BasicSocket#getsockopt、BasicSocket#setsockopt で
使うソケットオプションの値を表すクラス。
ソケットオプションの具体的な意味は
自身の使っているシステムのドキュメントを見てください。 -
Socket
:: Option . bool(family , level , optname , boolean) -> Socket :: Option (18601.0) -
整数をデータとして持つ Socket::Option オブジェクト新たに生成し返します。
整数をデータとして持つ Socket::Option オブジェクト新たに生成し返します。
family, level, optname には Socket::SOL_SOCKET のような整数の他、
文字列("SOL_SOCKET", "SOCKET")、シンボル(:SOL_SOCKET, :SOCKET)を
指定することができます。
@param family ソケットファミリー
@param level ソケットオプションレベル
@param optname オプションの名前
@param boolean データ(真偽値)
require 'socket'
p Socke... -
Socket
:: Option . int(family , level , optname , integer) -> Socket :: Option (18601.0) -
整数をデータとして持つ Socket::Option オブジェクト新たに生成し返します。
整数をデータとして持つ Socket::Option オブジェクト新たに生成し返します。
family, level, optname には Socket::SOL_SOCKET のような整数の他、
文字列("SOL_SOCKET", "SOCKET")、シンボル(:SOL_SOCKET, :SOCKET)を
指定することができます。
@param family ソケットファミリー
@param level ソケットオプションレベル
@param optname オプションの名前
@param integer データ(整数) -
Socket
:: Option . linger(onoff , secs) -> Socket :: Option (18601.0) -
SOL_SOCKET/SO_LINGER 用の Socket::Option オブジェクト を新たに生成し返します。
SOL_SOCKET/SO_LINGER 用の Socket::Option オブジェクト
を新たに生成し返します。
@param onoff 0/1もしくは真偽値
@param secs 整数値 -
Socket
:: Option . new(family , level , optname , data) -> Socket :: Option (18601.0) -
Socket::Option オブジェクト新たに生成し返します。
Socket::Option オブジェクト新たに生成し返します。
family, level, optname には Socket::SOL_SOCKET のような整数の他、
文字列("SOL_SOCKET", "SOCKET")、シンボル(:SOL_SOCKET, :SOCKET)を
指定することができます。
@param family ソケットファミリー
@param level ソケットオプションレベル
@param optname オプションの名前
@param data データ(文字列)
@see Socket::Option.int, Socket::Option.bool... -
FileTest
. # socket?(file) -> bool (18355.0) -
ファイルがソケットである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがソケットである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
//emlist[例][ruby]{
require "socket"
IO.write("testfile", "test")
p FileTest.socket?("testfile") ... -
File
. socket?(path) -> bool (18319.0) -
FileTest.#socket? と同じです。
FileTest.#socket? と同じです。
@param path パスを表す文字列か IO オブジェクトを指定します。 -
OpenSSL
:: SSL :: SocketForwarder (18049.0) -
to_io で返されるソケットオブジェクトにメソッドを フォワードするモジュールです。
to_io で返されるソケットオブジェクトにメソッドを
フォワードするモジュールです。
OpenSSL::SSL::SSLSocket や OpenSSL::SSL::SSLServer と
いったソケットの SSL ラッパクラスにソケット関連のメソッドを定義するため
に使われます。 -
IPSocket (18019.0)
-
インターネットドメインソケットの抽象クラス。
インターネットドメインソケットの抽象クラス。
通常の IO クラスのサブクラスと同様の入出力ができます。 -
TCPSocket (18019.0)
-
インターネットドメインのストリーム型ソケットのクラスです。
インターネットドメインのストリーム型ソケットのクラスです。
通常のIO クラスのサブクラスと同
様の入出力ができます。このクラスによってソケットを用いたクラ
イアントを簡単に記述できるようになります。
ユーザの入力をそのままサーバに転送するプログラムは以下の
ようになります。
require "socket"
port = if ARGV.size > 0 then ARGV.shift else 4444 end
print port, "\n"
s = TCPSocket.open("localhost", port)
while gets
... -
UNIXSocket (18019.0)
-
UNIX ドメインのストリーム型ソケットのクラス。
UNIX ドメインのストリーム型ソケットのクラス。
通常の IO クラスのサブクラスと同様の入出力ができます。 -
Socket
:: Option # bool -> bool (18001.0) -
オプションのデータ(内容)を真偽値に変換して返します。
オプションのデータ(内容)を真偽値に変換して返します。
@raise TypeError dataのバイト数が不適切である(sizeof(int)と異なる)場合に発生します
@see Socket::Option#data -
Socket
:: Option # data -> String (18001.0) -
オプションのデータ(内容)を文字列で返します。
オプションのデータ(内容)を文字列で返します。
内容が整数や真偽値、もしくは struct linger であることがわかっている場合には、
Socket::Option#int, Socket::Option#bool, Socket::Option#linger
を用いて
to_s は過去との互換性のために存在します。 -
Socket
:: Option # family -> Integer (18001.0) -
ソケットファミリを表す整数を返します。
ソケットファミリを表す整数を返します。 -
Socket
:: Option # int -> Integer (18001.0) -
オプションのデータ(内容)を整数に変換して返します。
オプションのデータ(内容)を整数に変換して返します。
@raise TypeError dataのバイト数が不適切である(sizeof(int)と異なる)場合に発生します
@see Socket::Option#data -
Socket
:: Option # level -> Integer (18001.0) -
ソケットオプションレベルを表す整数を返します。
ソケットオプションレベルを表す整数を返します。 -
Socket
:: Option # linger -> [bool , Integer] (18001.0) -
オプションが SOL_SOCKET/SO_LINGER である場合に、 オプションのデータ(内容)を真偽値と整数のペアとして返します。
オプションが SOL_SOCKET/SO_LINGER である場合に、
オプションのデータ(内容)を真偽値と整数のペアとして返します。
@raise TypeError dataのバイト数が不適切である(sizeof(struct linger)と異なる)場合や、
level/optname が SOL_SOCKET/SO_LINGER でないに発生します
@see Socket::Option#data -
Socket
:: Option # optname -> Integer (18001.0) -
ソケットのオプション名を表す整数を返します。
ソケットのオプション名を表す整数を返します。 -
Socket
:: Option # to _ s -> String (18001.0) -
オプションのデータ(内容)を文字列で返します。
オプションのデータ(内容)を文字列で返します。
内容が整数や真偽値、もしくは struct linger であることがわかっている場合には、
Socket::Option#int, Socket::Option#bool, Socket::Option#linger
を用いて
to_s は過去との互換性のために存在します。 -
Socket
:: Option # unpack(template) -> Array (18001.0) -
data に対し String#unpack を呼び出し、その結果を返します。
data に対し String#unpack を呼び出し、その結果を返します。
このメソッドは過去との互換性のために存在します。 -
Socket
:: AncillaryData . unix _ rights(*ios) -> Socket :: AncillaryData (9619.0) -
ios で指定したファイルのファイルデスクリプタを データとして持つ family=AF_UNIX, level=SOL_SOCKET, type=SCM_RIGHTS という Socket::AncillaryData オブジェクトを生成して返します。
ios で指定したファイルのファイルデスクリプタを
データとして持つ family=AF_UNIX, level=SOL_SOCKET, type=SCM_RIGHTS
という Socket::AncillaryData オブジェクトを生成して返します。
require 'socket'
p Socket::AncillaryData.unix_rights(STDERR)
#=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 2>
@param ios IO オブジェクトの配列
@see Socket::AncillaryData#... -
Socket
. tcp _ server _ loop(host , port) {|sock , addr| . . . } -> () (9487.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、
新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。
このメソッドはブロックを逐次的に呼び出します。
つまりブロックからリターンするまで次のコネクションを受け入れません。
そのため、同時に複数のクライアントと通信したい場合は
スレッドのような並列機構を使う必... -
Socket
. tcp _ server _ loop(port) {|sock , addr| . . . } -> () (9487.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、
新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。
このメソッドはブロックを逐次的に呼び出します。
つまりブロックからリターンするまで次のコネクションを受け入れません。
そのため、同時に複数のクライアントと通信したい場合は
スレッドのような並列機構を使う必... -
Socket
. unix(path) -> Socket (9448.0) -
Unix クライアントソケットを生成します。
Unix クライアントソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
# /tmp/sock と通信する
Socket.unix("/tmp/sock") {|sock|
t = Thread.new { IO.copy_stream(sock, STDOUT) }
IO.copy_stream... -
Socket
. unix(path) {|sock| . . . } -> object (9448.0) -
Unix クライアントソケットを生成します。
Unix クライアントソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
# /tmp/sock と通信する
Socket.unix("/tmp/sock") {|sock|
t = Thread.new { IO.copy_stream(sock, STDOUT) }
IO.copy_stream... -
Socket
:: AncillaryData # unix _ rights -> [IO] | nil (9406.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... -
BasicSocket
# sendmsg(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (9391.0) -
sendmsg(2) を用いてメッセージを送ります。
sendmsg(2) を用いてメッセージを送ります。
このメソッドはブロックします。ノンブロッキング方式で通信したい
場合は BasicSocket#sendmsg_nonblock を用います。
ソケットが connection-less の場合は dest_sockaddr で
通信先のアドレスを指定しなければなりません。Socket.sockaddr_in
の返り値や Addrinfo オブジェクトを引数として渡すことができます。
controls には 補助データ(ancillary data)を渡します。
Socket::AncillaryData のインスタンスや
3要素(c... -
Socket
# connect _ nonblock(server _ sockaddr) -> 0 (9373.0) -
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
ソケットをノンブロッキングモードに設定した後、
connect(2) を呼び出します。
引数、返り値は Socket#connect と同じです。
connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend されます。
これを connect_nonblock をリトライするために使うことができます。
# Pull down Google's web page
require 'socket'
include Socket::Constants
... -
BasicSocket
# recvmsg(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (9355.0) -
recvmsg(2) を用いてメッセージを受け取ります。
recvmsg(2) を用いてメッセージを受け取ります。
このメソッドはブロックします。ノンブロッキング方式で通信したい
場合は BasicSocket#recvmsg_nonblock を用います。
maxmesglen, maxcontrollen で受け取るメッセージおよび補助データ
(Socket::AncillaryData)の最大長をバイト単位で指定します。
省略した場合は必要なだけ内部バッファを拡大して
データが切れないようにします。
flags では Socket::MSG_* という名前の定数の biwsise OR を取った
ものを渡します。
opts にはその他... -
Socket
. udp _ server _ recv(sockets) {|msg , msg _ src| . . . } -> () (9319.0) -
socketsで与えられた各 UDP ソケットからデータを読み取ります。
socketsで与えられた各 UDP ソケットからデータを読み取ります。
各ソケットからメッセージを読み取るごとにブロックを呼び出します。
ブロックに渡される引数は msg と msg_src の 2 つで、
msg は受け取ったメッセージ文字列で、 msg_src は
通信相手の Socket::UDPSource オブジェクトです。
Socket.udp_server_loop はこのメソッドの用いて以下のようにして
実装できます。
require 'socket'
udp_server_sockets(host, port) {|sockets|
loop {
... -
Etc
:: SC _ RAW _ SOCKETS -> Integer (9310.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
OpenSSL
:: SSL :: SSLSocket # accept _ nonblock -> self (9073.0) -
ノンブロッキング方式で TLS/SSL 通信をサーバモードとして開始し、 クライアントとのハンドシェイクを実行します。
ノンブロッキング方式で
TLS/SSL 通信をサーバモードとして開始し、
クライアントとのハンドシェイクを実行します。
IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断します。IO が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
(実際は OpenSSL::S... -
OpenSSL
:: SSL :: SSLSocket # connect _ nonblock -> self (9073.0) -
ノンブロッキング方式で TLS/SSL 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。
ノンブロッキング方式で
TLS/SSL 通信をクライアントモードとして開始し、
サーバとのハンドシェイクを実行します。
IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断します。IO が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@raise OpenSSL::SSL::S... -
UDPSocket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Array] (9055.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。
ソケットをノンブロッキングモードに設定した後、
recvfrom(2) でソケットからデータを受け取ります。
maxlen で受け取るデータの最大バイト数を指定します。
flags はフラグで、Socket::MSG_* の bitwise OR を渡します。
詳しくは recvfrom(2) を参照してください。
返り値はデータの文字列と送り元のアドレス情報の
2要素の配列となります。
recvfrom(2) がエラーになった場合、
Errno::EAGAIN, Errno::EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Err... -
OpenSSL
:: SSL :: SocketForwarder # fcntl(cmd , arg=0) -> Integer (9037.0) -
ラップされているソケットに対してシステムコール fcntl を実行します。
ラップされているソケットに対してシステムコール fcntl を実行します。
IO#fcntl と同様です。
@param cmd IO に対するコマンドを、添付ライブラリ fcntl が提供している定数で指定します。
@param arg cmd に対する引数を整数、文字列、booleanのいずれかで指定します。
@raise Errno::EXXX fcntl の実行に失敗した場合に発生します。
@raise IOError 既に close されている場合に発生します。 -
OpenSSL
:: SSL :: SSLSocket # sysread(length , buf=nil) -> String (9019.0) -
データをバッファを経由せずに暗号化通信路から読み込み、 読み込んだデータを文字列で返します。
データをバッファを経由せずに暗号化通信路から読み込み、
読み込んだデータを文字列で返します。
基本的にはこのメソッドは使わず、OpenSSL::Buffering の
メソッドを使ってデータを読み込むべきです。
length で読み込むバイト数を指定します。
bufに文字列を指定するとその文字列のメモリ領域にデータを直接書き込み、
その String オブジェクトを返します。
IO#sysread と同様です。
@param length 読み込むバイト数を指定します
@param buf データを書き込むバッファ
@raise EOFError 入力が終端に逹した場合に発生します
... -
OpenSSL
:: SSL :: SSLSocket # syswrite(string) -> Integer (9019.0) -
データをバッファを経由せずに暗号化通信路に書き込みます。
データをバッファを経由せずに暗号化通信路に書き込みます。
書き込んだバイト数を整数で返します。
基本的にはこのメソッドは使わず、OpenSSL::Buffering の
メソッドを使ってデータを書き込むべきです。
IO#syswrite と同様です。
@param string 書き込むデータ文字列
@raise OpenSSL::SSL::SSLError 書き込みに失敗した場合に発生します -
Socket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Addrinfo] (9019.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) を呼び出します。
ソケットをノンブロッキングモードに設定した後、
recvfrom(2) を呼び出します。
引数、返り値は Socket#recvfrom と同じです。
recvfrom(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Errno::EAGAIN のような待ってからリトライすることが
可能であることを意味する例外には、IO::WaitReadable が extend
されています。
@param maxlen ソケットから受けとるデータの最大値
@param flags フラグ
@rai... -
UNIXServer
# accept _ nonblock -> UnixSocket (409.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
ソケットをノンブロッキングモードに設定した後、
accept(2) を呼び出します。
接続した
UNIXSocket のインスタンスを返します。
accept(2) がエラーになった場合、Socket#accept と同じ例外が
発生します。
Errno::EWOULDBLOCK, Errno::EAGAIN,
Errno::ECONNABORTED, Errno::EPROTO のいずれかの例外が
発生した場合は、その例外には IO::WaitReadable が extend
されます。それを利用してリトライ可能な例外を掴まえることができます。
require 'socket... -
WEBrick
:: HTTPRequest # parse(socket = nil) -> () (319.0) -
指定された socket からクライアントのリクエストを読み込み、 自身のアクセサなどを適切に設定します。
指定された socket からクライアントのリクエストを読み込み、
自身のアクセサなどを適切に設定します。
@param socket クライアントに接続された IO オブジェクトを指定します。 -
ruby 1
. 6 feature (235.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) -> stable-snapshot
: 2003-01-22: errno
EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま...