キーワード
- getaddress (12)
- getaddrinfo (12)
- gethostbyaddr (12)
- gethostbyname (24)
- gethostname (12)
- getifaddrs (12)
- getnameinfo (12)
- ip (12)
- new (36)
- open (36)
-
pack
_ sockaddr _ in (12) -
sockaddr
_ in (12) - tcp (36)
-
tcp
_ server _ loop (24) -
tcp
_ server _ sockets (48) - udp (12)
-
udp
_ server _ loop (24) -
udp
_ server _ recv (12) -
udp
_ server _ sockets (48)
検索結果
先頭5件
-
Socket
. tcp _ server _ loop(host , port) {|sock , addr| . . . } -> () (126.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。
...TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、
新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジ......それが用いられます。
# 逐次的な echo サーバ
# 一度に一つのクライアントした取り扱えない
require 'socket'
Socket.tcp_server_loop(16807) {|sock, client_addrinfo|
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
# ス......注意
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 で処... -
Socket
. pack _ sockaddr _ in(port , host) -> String (111.0) -
指定したアドレスをlib:socket#pack_string で返します。port は、ポート番号を表す Fixnum あるいは、ポート 番号、サービス名を表す文字列です。
...指定したアドレスをlib:socket#pack_string
で返します。port は、ポート番号を表す Fixnum あるいは、ポート
番号、サービス名を表す文字列です。
@param port ポート番号を表す Fixnum あるいは、ポート番号、サービス名を表す文字......します。
@return 指定したアドレスを返します。
例:
require 'socket'
p Socket.sockaddr_in("echo", "localhost")
=> "\002\000\000\a\177\000\000\001\000\000\000\000\000\000\000\000"
p Socket.sockaddr_in("echo", "::1")
=> "\n\000\000\a\000\000\000\000\000\000\000\000\000\00... -
Socket
. sockaddr _ in(port , host) -> String (111.0) -
指定したアドレスをlib:socket#pack_string で返します。port は、ポート番号を表す Fixnum あるいは、ポート 番号、サービス名を表す文字列です。
...指定したアドレスをlib:socket#pack_string
で返します。port は、ポート番号を表す Fixnum あるいは、ポート
番号、サービス名を表す文字列です。
@param port ポート番号を表す Fixnum あるいは、ポート番号、サービス名を表す文字......します。
@return 指定したアドレスを返します。
例:
require 'socket'
p Socket.sockaddr_in("echo", "localhost")
=> "\002\000\000\a\177\000\000\001\000\000\000\000\000\000\000\000"
p Socket.sockaddr_in("echo", "::1")
=> "\n\000\000\a\000\000\000\000\000\000\000\000\000\00... -
Addrinfo
. ip(host) -> Addrinfo (110.0) -
IP アドレスに対する Addrinfo オブジェクトを返します。
...socktype, protocol は 0 で初期化されます。
つまりこの返り値はソケットを生成するには不適です。
require 'socket'
Addrinfo.ip("localhost") #=> #<Addrinfo: 127.0.0.1 (localhost)>
@param host ホスト(IP アドレスもしくはホスト名)
@see Addrinfo.new... -
Addrinfo
. tcp(host , port) -> Addrinfo (110.0) -
TCP アドレスに対する Addrinfo オブジェクトを返します。
...TCP アドレスに対する Addrinfo オブジェクトを返します。
require 'socket'
Addrinfo.tcp("localhost", "smtp")
#=> #<Addrinfo: 127.0.0.1:25 TCP (localhost:smtp)>
@param host ホスト(IP アドレスもしくはホスト名)
@param port ポート番号(整数)もしくは... -
Addrinfo
. udp(host , port) -> Addrinfo (110.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 ポート番号(整数)もし... -
IPSocket
. getaddress(host) -> String (110.0) -
ホスト名からホストのアドレスを返します。ホストのアドレスは文 字列は octet decimal の文字列 (例: 127.0.0.1) です。
...ホストのアドレスを返します。ホストのアドレスは文
字列は octet decimal の文字列 (例: 127.0.0.1) です。
@param host ホスト名を文字列で指定します。
例:
require 'socket'
p IPSocket.getaddress("www.ruby-lang.org") #=> "210.163.138.100"... -
Socket
. udp _ server _ loop(host , port) {|msg , msg _ src| . . . } -> () (110.0) -
UDP のサーバを起動して、メッセージが来るごとに ブロックを呼び出します。
...と msg_src の 2 つで、
msg は受け取ったメッセージ文字列で、 msg_src は
通信相手の Socket::UDPSource オブジェクトです。
@param host 割り当てるホスト名
@param port 割り当てるポート番号
@see Socket.udp_server_sockets, Socket.udp_server_loop_on... -
Socket
. getifaddrs -> [Socket :: Ifaddr] (27.0) -
インターフェイスのアドレスを Socket::Ifaddr の配列で返します。
...スを Socket::Ifaddr の配列で返します。
本メソッドはマルチキャスト通信が可能なインターフェイスを見つけるために使う事ができます。
require 'socket'
pp Socket.getifaddrs.reject {|ifaddr|
!ifaddr.addr.ip? || (ifaddr.flags & Socket::IFF_MUL......U/Linux):
require 'socket'
pp Socket.getifaddrs
#=> [#<Socket::Ifaddr lo UP,LOOPBACK,RUNNING,0x10000 PACKET[protocol=0 lo hatype=772 HOST hwaddr=00:00:00:00:00:00]>,
# #<Socket::Ifaddr eth0 UP,BROADCAST,RUNNING,MULTICAST,0x10000 PACKET[protocol=0 eth0 hatype=1 HOST hwaddr=00:16:3e:95:88......ast=PACKET[protocol=0 eth0 hatype=1 HOST hwaddr=ff:ff:ff:ff:ff:ff]>,
# #<Socket::Ifaddr sit0 NOARP PACKET[protocol=0 sit0 hatype=776 HOST hwaddr=00:00:00:00]>,
# #<Socket::Ifaddr lo UP,LOOPBACK,RUNNING,0x10000 127.0.0.1 netmask=255.0.0.0>,
# #<Socket::Ifaddr eth0 UP,BROADCAST,RUNNING,...