種類
- 文書 (24)
- クラス (12)
- インスタンスメソッド (12)
ライブラリ
- socket (24)
クラス
- TCPServer (12)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - accept (12)
-
ruby 1
. 8 . 5 feature (12)
検索結果
-
TCPServer (38024.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)
n......s.close
socks.delete(s)
else
str = s.gets
s.write(str)
end
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, " is accepted\n")
while s.gets
s.write($_)
end
print(s, " is gone\n")
s.close
end
end... -
TCPServer
# accept -> TCPSocket (21012.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"
}... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (36.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
..._proc>)) [new]
追加 ((<ruby-dev:17966>))
=== IO
: ((<IO/IO.sysopen>)) [new]
: ((<Socket#sysaccept|Socket/sysaccept>)) [new]
: ((<TCPServer#sysaccept|TCPServer/sysaccept>)) [new]
: ((<UNIXServer#sysaccept|UNIXServer/sysaccept>)) [new]
追加
: ((<IO#sysseek|IO/sysseek>)) [new]
追加 (......o>)) [new]
: ((<UNIXSocket#send_io|UNIXSocket/send_io>)) [new]
追加
: ((<UNIXServer#listen|UNIXServer/listen>)) [new]
: ((<TCPServer#listen|TCPServer/listen>)) [new]
追加。Socket#((<Socket/listen>))と同じ。
=== String
: ((<String#match|String/match>)) [new]......りますが、こちらは未修正です。
((<ruby-dev:19299>))
: ((<IO#putc|IO/putc>)) [bug]
出力メソッドのうち putc だけが write メソッドを使用していませんでした。
((<ruby-dev:18038>))
: IO#read, gets ..., etc. [bug]
File::NONBLOCK を指定した IO の... -
ruby 1
. 8 . 5 feature (12.0) -
ruby 1.8.5 feature ruby 1.8.4 から ruby 1.8.5 までの変更点です。
...2
#: IPSocket#recvfrom_nonblock [new]
#: UNIXSocket#recvfrom_nonblock [new]
: TCPServer#accept_nonblock [new]
: UNIXServer#accept_nonblock [new]
((<ruby-core:7925>))
=== 2006-05-22
: IO#read_nonblock [new]
: IO#write_nonblock [new]
: Socket#connect_nonblock [new]
: Socket#accept_nonblock [new]...