TCPサーバ(acceptした相手の確認)

TCPサーバは接続準備(listen)をした後にクライアントからのコネクションをacceptしますが、どのクライアントからのコネクションをacceptしたかを知りたい場合があると思います。 ここでは、接続相手を確認する方法を説明します。

acceptした相手を表示するサンプル

acceptした相手に関する情報は「addr」に含まれています。 下記サンプルでは、accept後に「p sock.peeraddr」で接続相手に関する情報を表示しています。


#!/usr/bin/ruby

require "socket"

s0 = TCPServer.open(20000)

while true
  sock = s0.accept

  # 接続相手の情報を表示する
  p sock.peeraddr

  # クライアントからのデータを全て受け取る
  while buf = sock.gets
    p buf
  end

  sock.close
end

s0.close

上記サンプルコードは、TCPで接続してくる相手に関する情報を表示するため、適切に改造すればアクセスログを生成する簡易なサーバが作成できます。 上記サンプルコードを改造して色々試してみていただければと思います。



カスタム検索




はてなRSSに追加
Subscribe with livedoor Reader
Subscribe with Bloglines
Add to goo

外部サイト

プレコ王国
ディスカス魂
金魚タイムズ
YouTubeチャネル
Twitter
mixi(ほぼ未使用)


フィードメーター - Geekなぺーじ にほんブログ村 IT技術ブログへ
Copyright (C) Geekなページ.
All rights reserved. 無断転載や無断コピーなど、私的利用の範囲を逸脱した利用はおやめ下さい.