alworker:tcp_ipサーバー
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン次のリビジョン両方とも次のリビジョン | ||
alworker:tcp_ipサーバー [2020/08/27 14:42] – hirohito | alworker:tcp_ipサーバー [2021/10/05 10:48] – [chat以外のプロトコルを使用] hirohito | ||
---|---|---|---|
行 5: | 行 5: | ||
TCPサーバーを作成する機能です。SMTPサーバのような、chat式のサーバ機能を実装しています。 | TCPサーバーを作成する機能です。SMTPサーバのような、chat式のサーバ機能を実装しています。 | ||
+ | |||
+ | {{: | ||
====== サンプル ====== | ====== サンプル ====== | ||
+ | サーバー | ||
<file ruby tcp_server.rb> | <file ruby tcp_server.rb> | ||
require " | require " | ||
行 38: | 行 41: | ||
end | end | ||
- | server = TcpServer.new( " | + | server = TcpServer.new(" |
+ | server.parse_option() | ||
server.daemon() | server.daemon() | ||
</ | </ | ||
+ | |||
+ | |||
+ | クライアント(以下の例は、Ruby基本機能のみ使用した例で、Aloneライブラリは使わず実装しています) | ||
+ | |||
+ | <file ruby tcp_client.rb> | ||
+ | require " | ||
+ | |||
+ | sock = TCPSocket.open(" | ||
+ | |||
+ | puts 'SEND " | ||
+ | sock.puts " | ||
+ | puts ' | ||
+ | |||
+ | puts 'SEND " | ||
+ | sock.puts " | ||
+ | puts ' | ||
+ | |||
+ | sock.close | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== 実行結果 ===== | ||
+ | < | ||
+ | % ruby tcp_client.rb | ||
+ | SEND " | ||
+ | RECEIVE 250 hello welcome. | ||
+ | SEND " | ||
+ | RECEIVE 200 OK quit. | ||
+ | </ | ||
+ | |||
行 79: | 行 113: | ||
====== chat以外のプロトコルを使用 ====== | ====== chat以外のプロトコルを使用 ====== | ||
- | chat方式ではないプロトコルを使いたい場合は、Tcpクラスを継承して、_start_service()メソッドをオーバライドします。 | + | chat方式ではないプロトコルを使いたい場合は、AlWorker::Tcpクラスを継承して、_start_service()メソッドをオーバライドします。 |
すべてのGETリクエストに "It works!" | すべてのGETリクエストに "It works!" |
alworker/tcp_ipサーバー.txt · 最終更新: 2023/08/19 12:06 by hirohito