るりまサーチ

最速Rubyリファレンスマニュアル検索!
900件ヒット [1-100件を表示] (0.026秒)

検索結果

<< 1 2 3 ... > >>

BasicSocket#sendmsg_nonblock(mesg, flags=0, dest_sockaddr=nil, *controls) -> Integer (39.0)

sendmsg(2) を用いてノンブロッキング方式でメッセージを送ります。

...cSocket#sendmsg を見てください。

@
return 送ったバイト数
@
param mesg メッセージ文字列
@
param flags フラグ(Socket::MSG_* という定数の bitwise OR を取ったもの)
@
param dest_sockaddr 通信先のアドレス
@
param controls 補助データの配列
@
see BasicSocket#...

BasicSocket#setsockopt(level, optname, optval) -> 0 (39.0)

ソケットのオプションを設定します。setsockopt(2) を参照してください。

...を設定します。setsockopt(2)
を参照してください。

level, optname には Socket::SOL_SOCKET Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。

optval...
... Socket::Option で設定値を表現します。

require 'socket'

# 真偽値の場合
#setsockopt could be called like this:
sock.setsockopt(:SOCKET, :REUSEADDR, true)
sock.setsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR, true)
sock.setsockopt(Socket::Option.bool(:INET, :SOCKET,...
...etsockopt(Socket::IPPROTO_IP, Socket::IP_TTL, 255)
sock.setsockopt(Socket::Option.int(:INET, :IP, :TTL, 255))

# より複雑な場合
optval = IPAddr.new("224.0.0.251").hton +
IPAddr.new(Socket::INADDR_ANY, Socket::AF_INET).hton
sock.setsockopt(Socket::IPPROTO_IP, Socket::IP_ADD_...

BasicSocket#setsockopt(socketoption) -> 0 (39.0)

ソケットのオプションを設定します。setsockopt(2) を参照してください。

...を設定します。setsockopt(2)
を参照してください。

level, optname には Socket::SOL_SOCKET Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。

optval...
... Socket::Option で設定値を表現します。

require 'socket'

# 真偽値の場合
#setsockopt could be called like this:
sock.setsockopt(:SOCKET, :REUSEADDR, true)
sock.setsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR, true)
sock.setsockopt(Socket::Option.bool(:INET, :SOCKET,...
...etsockopt(Socket::IPPROTO_IP, Socket::IP_TTL, 255)
sock.setsockopt(Socket::Option.int(:INET, :IP, :TTL, 255))

# より複雑な場合
optval = IPAddr.new("224.0.0.251").hton +
IPAddr.new(Socket::INADDR_ANY, Socket::AF_INET).hton
sock.setsockopt(Socket::IPPROTO_IP, Socket::IP_ADD_...

BasicSocket#sendmsg(mesg, flags=0, dest_sockaddr=nil, *controls) -> Integer (33.0)

sendmsg(2) を用いてメッセージを送ります。

...ンブロッキング方式で通信したい
場合は BasicSocket#sendmsg_nonblock を用います。

ソケットが connection-less の場合は dest_sockaddr で
通信先のアドレスを指定しなければなりません。Socket.sockaddr_in
の返り値や Addrinfo オブジェクトを...
...ます。
Socket
::AncillaryData のインスタンスや
3要素(cmsg_level, cmsg_type, cmsg_data) の配列を用いることができます。

送ったバイト数を返します。

# UnixSocket#send_io の実装例
# use Socket::AncillaryData.
require 'socket'

ancdata = Socket::Ancill...
...aryData.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", 0, nil, ancdata)


@
param mesg メッセージ文字列
@
param flags フラグ(Socket::MSG_* という定数の...

UDPSocket#send(mesg, flags) -> Integer (33.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 (33.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 (33.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 送り先のアドレス情報...

BasicSocket#recv(maxlen, flags = 0) -> String (27.0)

ソケットからデータを受け取り、文字列として返します。 maxlen は受け取る最大の長さを指定します。 flags については recv(2) を参照してください。flags の デフォルト値は 0 です。flags の指定に必要な定数は Socket クラスで定義されています。(例: Socket::MSG_PEEK)

...は recv(2) を参照してください。flags の
デフォルト値は 0 です。flags の指定に必要な定数は
Socket
クラスで定義されています。(例: Socket::MSG_PEEK)

内部で呼び出す recv(2) が 0 を返した場合、このメソッドは "" を返します。
この...
...す。

@
param maxlen 受け取る文字列の最大の長さを指定します。

@
param flags recv(2) を参照してください。

@
raise IOError

@
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#recv_nonblock(maxlen, flags = 0) -> String (27.0)

ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。

...BasicSocket#recv と同じです。

recvfrom(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。

@
param maxlen 受け取る文字列の最大の長さを指定します。

@
param flags recv(2) を参照してください。

@
raise IOError

@
raise...
<< 1 2 3 ... > >>