別のキーワード
種類
- 特異メソッド (9)
- インスタンスメソッド (6)
- 定数 (2)
ライブラリ
- socket (17)
クラス
- Addrinfo (3)
- BasicSocket (1)
- Socket (7)
-
Socket
:: AncillaryData (1) - UDPSocket (4)
モジュール
キーワード
-
NI
_ DGRAM (2) - bind (2)
- connect (1)
- getservbyport (1)
- new (1)
- open (1)
- recv (1)
-
recvfrom
_ nonblock (1) -
udp
_ server _ recv (1) -
udp
_ server _ sockets (4)
検索結果
先頭5件
-
Addrinfo
. udp(host , port) -> Addrinfo (54406.0) -
UDP アドレスに対する Addrinfo オブジェクトを返します。
UDP アドレスに対する Addrinfo オブジェクトを返します。
require 'socket'
Addrinfo.udp("localhost", "daytime")
#=> #<Addrinfo: 127.0.0.1:13 UDP (localhost:daytime)>
@param host ホスト(IP アドレスもしくはホスト名)
@param port ポート番号(整数)もしくはサービス名(文字列) -
Socket
. udp _ server _ sockets(host , port) -> [Sockets] (18433.0) -
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
# UDP/IP echo server
require 'socket'
Socket.udp_server_sockets(0) {|sockets|
p sockets.firs... -
Socket
. udp _ server _ sockets(host , port) {|sockets| . . . } -> object (18433.0) -
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
# UDP/IP echo server
require 'socket'
Socket.udp_server_sockets(0) {|sockets|
p sockets.firs... -
Socket
. udp _ server _ sockets(port) -> [Sockets] (18433.0) -
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
# UDP/IP echo server
require 'socket'
Socket.udp_server_sockets(0) {|sockets|
p sockets.firs... -
Socket
. udp _ server _ sockets(port) {|sockets| . . . } -> object (18433.0) -
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
# UDP/IP echo server
require 'socket'
Socket.udp_server_sockets(0) {|sockets|
p sockets.firs... -
Socket
. udp _ server _ recv(sockets) {|msg , msg _ src| . . . } -> () (18424.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 {
... -
UDPSocket
. new(address _ family=Socket :: AF _ INET) -> UDPSocket (9367.0) -
新しい UDP ソケットを返します。
新しい UDP ソケットを返します。
address_family には Socket::AF_INET のような整数、:INET のような
シンボル、"INET" のような文字列を指定することができます。
require 'socket'
UDPSocket.new # => #<UDPSocket:fd 3>
UDPSocket.new(Socket::AF_INET6) # => #<UDPSocket:fd 4>
@param address_family ソケットのアドレスファミリー -
UDPSocket
. open(address _ family=Socket :: AF _ INET) -> UDPSocket (9367.0) -
新しい UDP ソケットを返します。
新しい UDP ソケットを返します。
address_family には Socket::AF_INET のような整数、:INET のような
シンボル、"INET" のような文字列を指定することができます。
require 'socket'
UDPSocket.new # => #<UDPSocket:fd 3>
UDPSocket.new(Socket::AF_INET6) # => #<UDPSocket:fd 4>
@param address_family ソケットのアドレスファミリー -
UDPSocket
# connect(host , port) -> 0 (9019.0) -
ソケットを host の port に connect(2) します。
ソケットを host の port に connect(2) します。
これによって UDPSocket#send で送り先のアドレスを指定せずに
データを送ることができます(connect しなくとも送り先のアドレスを明示すれば
データを送ることができます)。
require 'socket'
u1 = UDPSocket.new
u1.bind("127.0.0.1", 4913)
u2 = UDPSocket.new
u2.connect("127.0.0.1", 4913)
u2.send "uuuu", 0
p u1.recvfrom(10) #=... -
UDPSocket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Array] (9019.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... -
Socket
:: Constants :: NI _ DGRAM -> Integer (67.0) -
The service specified is a datagram service (looks up UDP ports)。
The service specified is a datagram service (looks up UDP ports)。
Socket.getnameinfo, Addrinfo#getnameinfo の引数 flags に渡す
定数です。
require 'socket'
Socket.getnameinfo([ Socket::AF_INET, 514, "127.0.0.1"], Socket::NI_DGRAM)
# => ["localhost", "syslog"]
Socket.getnameinfo([ Socket::AF_INET, 5... -
Socket
:: NI _ DGRAM -> Integer (67.0) -
The service specified is a datagram service (looks up UDP ports)。
The service specified is a datagram service (looks up UDP ports)。
Socket.getnameinfo, Addrinfo#getnameinfo の引数 flags に渡す
定数です。
require 'socket'
Socket.getnameinfo([ Socket::AF_INET, 514, "127.0.0.1"], Socket::NI_DGRAM)
# => ["localhost", "syslog"]
Socket.getnameinfo([ Socket::AF_INET, 5... -
Socket
. getservbyport(port , protocol _ name="tcp") -> String (55.0) -
ポート番号に対応するサービスの正式名を返します。
ポート番号に対応するサービスの正式名を返します。
@param port ポート番号
@param protocol_name "tcp" や "udp" などのプロトコル名
@return サービスの正式名
require 'socket'
Socket.getservbyport(80) #=> "www"
Socket.getservbyport(514, "tcp") #=> "shell"
Socket.getservbyport(514, "udp") #=> "syslog" -
Socket
:: AncillaryData # timestamp -> Time (55.0) -
タイムスタンプ制御メッセージに含まれる時刻を Time オブジェクト で返します。
タイムスタンプ制御メッセージに含まれる時刻を Time オブジェクト
で返します。
"タイムスタンプ制御メッセージ" は以下のいずれかです。
* SOL_SOCKET/SCM_TIMESTAMP (micro second) GNU/Linux, FreeBSD, NetBSD, OpenBSD, Solaris, MacOS X
* SOL_SOCKET/SCM_TIMESTAMPNS (nano second) GNU/Linux
* SOL_SOCKET/SCM_BINTIME (2**(-64) second) FreeBSD
require 'socket... -
Addrinfo
# bind -> Socket (37.0) -
自身のアドレスにバインドされたソケットを作成します。
自身のアドレスにバインドされたソケットを作成します。
ブロックが渡されたときにはそのブロックに生成された Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。
require 'socket'
Addrinfo.udp("0.0.0.0", 9981).bind {|s|
s.local_address.connect {|s| s.send "hello", 0 }
p s.recv(10) #=> "hello"
} -
Addrinfo
# bind {|sock| . . . } -> object (37.0) -
自身のアドレスにバインドされたソケットを作成します。
自身のアドレスにバインドされたソケットを作成します。
ブロックが渡されたときにはそのブロックに生成された Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。
require 'socket'
Addrinfo.udp("0.0.0.0", 9981).bind {|s|
s.local_address.connect {|s| s.send "hello", 0 }
p s.recv(10) #=> "hello"
} -
BasicSocket
# recv(maxlen , flags = 0) -> String (37.0) -
ソケットからデータを受け取り、文字列として返します。 maxlen は受け取る最大の長さを指定します。 flags については recv(2) を参照してください。flags の デフォルト値は 0 です。flags の指定に必要な定数は Socket クラスで定義されています。(例: Socket::MSG_PEEK)
ソケットからデータを受け取り、文字列として返します。
maxlen は受け取る最大の長さを指定します。
flags については recv(2) を参照してください。flags の
デフォルト値は 0 です。flags の指定に必要な定数は
Socket クラスで定義されています。(例: Socket::MSG_PEEK)
内部で呼び出す recv(2) が 0 を返した場合、このメソッドは "" を返します。
この意味はソケットによって異なります。
たとえば TCP では EOF を意味しますし、
UDP では空のパケットを読み込んだことを意味します。
@param maxlen 受け取...