るりまサーチ

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

別のキーワード

  1. socket open
  2. _builtin open
  3. csv open
  4. tempfile open
  5. zlib open

ライブラリ

クラス

モジュール

検索結果

<< < 1 2 3 >>

TCPServer (60.0)

TCP/IP ストリーム型接続のサーバ側のソケットのクラスです。

...

例えば echo サーバは以下のようになります。

require "socket"

gs = TCPServer.open(0)
socks = [gs]
addr
= gs.addr
addr
.shift
printf("server is on %s\n", addr.join(":"))

while true
nsock = select(socks)
next if nsock == nil
for s in nsock[0]...
...end
end
end

Thread を使えばもっと短くなります。

require "socket"

gs = TCPServer.open(0)
addr
= gs.addr
addr
.shift
printf("server is on %s\n", addr.join(":"))

while true
Thread.start(gs.accept) do |s| # save to dynamic variable
print(s, " i...

BasicSocket#getpeername -> String (36.0)

接続の相手先のソケットの情報を取得します。sockaddr 構造体をパッ クした文字列を返します。getpeername(2) を参照してください。

...sockaddr 構造体をパッ
クした文字列を返します。getpeername(2) を参照してください。

例:

require 'socket'

serv = TCPServer.open("", 0)
c = TCPSocket.open(*Socket.unpack_sockaddr_in(serv.getsockname).reverse)
s = serv.accept
addr
= c.getpeername
p addr #=...
...> "\002\000\267\214\177\000\000\001\000\000\000\000\000\000\000\000"
p Socket.unpack_sockaddr_in(addr) #=> [46988, "127.0.0.1"]
p addr == s.getsockname #=> true...

TCPServer#accept -> TCPSocket (12.0)

クライアントからの接続要求を受け付け、接続した TCPSocket のインスタンスを返します。

...クライアントからの接続要求を受け付け、接続した
TCPSocket のインスタンスを返します。

例:

require 'socket'

TCPServer.open("", 0) {|serv|
c = TCPSocket.new(*serv.addr.values_at(3,1))
s = serv.accept
c.write "foo"
p s.recv(10) #=> "foo"
}...

TCPServer#sysaccept -> Integer (12.0)

接続したクライアントのソケットをファイル記述子で返すことを除けば TCPServer#accept と同じです。

...接続したクライアントのソケットをファイル記述子で返すことを除けば
TCPServer#accept と同じです。

例:

require 'socket'

TCPServer.open("", 0) {|serv|
c = TCPSocket.new(*serv.addr.values_at(3,1))
p serv.sysaccept #=> 6
}...
<< < 1 2 3 >>