236件ヒット
[1-100件を表示]
(0.017秒)
ライブラリ
- ビルトイン (33)
-
net
/ telnet (2) - socket (144)
- timeout (21)
モジュール
-
Socket
:: Constants (12) - Timeout (21)
キーワード
-
IFF
_ ECHO (24) - TCPServer (12)
- Telnet (2)
- pack (21)
- pack テンプレート文字列 (12)
-
pack
_ sockaddr _ in (12) -
ruby 1
. 6 feature (12) -
sockaddr
_ in (12) -
tcp
_ server _ loop (24) - timeout (21)
-
udp
_ server _ sockets (48) - unpack (12)
-
unpack
_ sockaddr _ in (12)
検索結果
先頭5件
-
socket (38076.0)
-
socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。
...socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。
=== ソケットアドレス
ソケットというのは通信路の末端です。
たとえば 1対1 の通信では、まず通信路の両端にひとつずつソケットをつくり......ります。
IPSocket および UNIXSocket 以下のクラス階層では、
わざわざソケットアドレスという形式にまとめなくてもよいよう、
ソケットアドレスの中身を直接扱えるメソッドが用意されています。
また、IPSocket 以下での IP......フェースで利用されます。
Socket.pack_sockaddr_in,
Socket.unpack_sockaddr_in といったメソッドにより、
例えば、以下のようにしてこの文字列を得ることが出来ます
require 'socket'
p Socket.pack_sockaddr_in("echo", "127.0.0.1")
=> "\002\000\000\a\17... -
Socket
. udp _ server _ sockets(host , port) -> [Sockets] (23224.0) -
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
...ソケットはすべて同じ番号を持ちます。
# UDP/IP echo server
require 'socket'
Socket.udp_server_sockets(0) {|sockets|
p sockets.first.local_address.ip_port #=> 32963
Socket.udp_server_loop_on(sockets) {|msg, msg_src|
msg_src.reply msg
}
}
@param host... -
Socket
. udp _ server _ sockets(host , port) {|sockets| . . . } -> object (23224.0) -
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
...ソケットはすべて同じ番号を持ちます。
# UDP/IP echo server
require 'socket'
Socket.udp_server_sockets(0) {|sockets|
p sockets.first.local_address.ip_port #=> 32963
Socket.udp_server_loop_on(sockets) {|msg, msg_src|
msg_src.reply msg
}
}
@param host... -
Socket
. udp _ server _ sockets(port) -> [Sockets] (23224.0) -
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
...ソケットはすべて同じ番号を持ちます。
# UDP/IP echo server
require 'socket'
Socket.udp_server_sockets(0) {|sockets|
p sockets.first.local_address.ip_port #=> 32963
Socket.udp_server_loop_on(sockets) {|msg, msg_src|
msg_src.reply msg
}
}
@param host... -
Socket
. udp _ server _ sockets(port) {|sockets| . . . } -> object (23224.0) -
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
...ソケットはすべて同じ番号を持ちます。
# UDP/IP echo server
require 'socket'
Socket.udp_server_sockets(0) {|sockets|
p sockets.first.local_address.ip_port #=> 32963
Socket.udp_server_loop_on(sockets) {|msg, msg_src|
msg_src.reply msg
}
}
@param host... -
Socket
:: IFF _ ECHO (23117.0) -
echo sent packets
...
echo sent packets... -
Socket
:: Constants :: IFF _ ECHO (17117.0) -
echo sent packets
...
echo sent packets... -
Socket
. unpack _ sockaddr _ in(sockaddr) -> Array (17064.0) -
lib:socket#pack_stringを unpack したアドレスを返します。返される値は [port, ipaddr] の配列です。
...:socket#pack_stringを
unpack したアドレスを返します。返される値は [port, ipaddr]
の配列です。
@param sockaddr ソケットアドレス構造体を pack した文字列lib:socket#pack_stringを指定します。
例:
require 'socket'
p Socket.unpack_sockaddr_in(Socket.......sockaddr_in("echo", "localhost"))
=> [7, "127.0.0.1"]
p Socket.unpack_sockaddr_in(Socket.sockaddr_in("echo", "::1"))
=> [7, "::1"]... -
Socket
. tcp _ server _ loop(host , port) {|sock , addr| . . . } -> () (17060.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。
...逐次的な echo サーバ
# 一度に一つのクライアントした取り扱えない
require 'socket'
Socket.tcp_server_loop(16807) {|sock, client_addrinfo|
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
# スレッドを使った echo サーバ......注意
require 'socket'
Socket.tcp_server_loop(16807) {|sock, client_addrinfo|
Thread.new {
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
}
内部的には Socket.tcp_server_sockets で
生成したソケットを Socket.accept_loop で処......理しています。
@param host 割り当てるホスト名
@param port 割り当てるポート番号
@see Socket.tcp_server_sockets, Socket.accept_loop...