るりまサーチ

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

別のキーワード

  1. socket new
  2. socket open
  3. socket udp_server_sockets
  4. socket tcp_server_sockets
  5. socket listen

ライブラリ

クラス

キーワード

検索結果

<< 1 2 > >>

BasicSocket#send(mesg, flags, dest_sockaddr = nil) -> Integer (29242.0)

ソケットを介してデータを送ります。flags に関しては send(2) を参照してください。connect していないソケット に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ たデータの長さを返します。

...ります。flags に関しては
send
(2) を参照してください。connect していないソケット
に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ
たデータの長さを返します。

dest_sockaddr には「ソケットアドレス...
...m flags send(2) の flags を参照してください。

@param dest_sockaddr 「ソケットアドレス構造体を pack した文字列」を指定します。

@raise Errno::EXXX データの送信に失敗した場合に発生します。

例:

require 'socket'

s = UDPSocket.new...
...sockaddr = Socket.sockaddr_in("discard", "localhost")
s.send("The king has donkey ears!", 0, sockaddr)...

UDPSocket#send(mesg, flags, sockaddr_to) -> Integer (29240.0)

UDP ソケットを介してデータを送ります。

...ります。

flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しい意味は send(2) を参照してください。

host, port の対、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
...
...

sockaddr_to にはlib:socket#pack_string もしくは
Addr
info オブジェクトを指定します。

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 , dest_sockaddr=nil) -> Integer (21219.0)

4 引数の形式で UDPSocket#send 実行したとき、 パラメータ host の名前解決に resolv ライブラリを使います。

...4 引数の形式で UDPSocket#send 実行したとき、
パラメータ host の名前解決に
resolv ライブラリを使います。

@param mesg 送るデータを文字列で与えます。
@param flags フラグを指定します。
@param host データを送る先のホストを指定し...
...ます。
@param port データを送る先のポートを指定します。
@raise SocketError 名前解決に失敗した場合に発生します。...

BasicSocket#sendmsg(mesg, flags=0, dest_sockaddr=nil, *controls) -> Integer (17255.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 (17207.0)

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

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

詳しくは BasicSocket#sendmsg を見てください。

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

絞り込み条件を変える

Socket#recvfrom(maxlen, flags=0) -> [String, Addrinfo] (17173.0)

ソケットからデータを受け取ります。

...ソケットからデータを受け取ります。

Socket
#recv と同様ですが、返り値として
データ文字列と相手ソケットのアドレスのペアが返されます。

flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しくは recvfrom(2) を参...
...見てください。
例:

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"]...

Addrinfo#bind -> Socket (11126.0)

自身のアドレスにバインドされたソケットを作成します。

... Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。

require 'socket'

Addr
info.udp("0.0.0.0", 9981).bind {|s|
s.local_addres...
...s.connect {|s| s.send "hello", 0 }
p s.recv(10) #=> "hello"
}...

IPSocket#recvfrom(maxlen, flags = 0) -> Array (11041.0)

recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのアドレス (形式は IPSocket#addr 参照) のペアです。引数につ いては BasicSocket#recv と同様です。

...からデータを受け取りますが、
戻り値は文字列と相手ソケットのアドレス (形式は
IPSocket#addr 参照) のペアです。引数につ
いては BasicSocket#recv と同様です。

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

@param flags...
...ます。

例:

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 #=> "foo"
p inet_addr #=> ["AF_INET", 32876,...

UDPSocket#recvfrom_nonblock(maxlen, flags=0) -> [String, Array] (11031.0)

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

...ットからデータを受け取ります。

maxlen で受け取るデータの最大バイト数を指定します。

flags はフラグで、Socket::MSG_* の bitwise OR を渡します。
詳しくは recvfrom(2) を参照してください。

返り値はデータの文字列と送り元の...
...aitReadable が extend
されています。

require 'socket'
s1 = UDPSocket.new
s1.bind("127.0.0.1", 0)
s2 = UDPSocket.new
s2.bind("127.0.0.1", 0)
s2.connect(*s1.addr.values_at(3,1))
s1.connect(*s2.addr.values_at(3,1))
s1.send "aaa", 0
begin # emulate blocking recvfrom
p s2.r...
...ecvfrom_nonblock(10)
#=> ["aaa", ["AF_INET", 33302, "localhost.localdomain", "127.0.0.1"]]
rescue IO::WaitReadable
IO.select([s2])
retry
end

@param maxlen 受け取るデータの最大バイト数
@param flags フラグ
@see IPSocket#recvfrom...
<< 1 2 > >>