タグ

ブックマーク / ez-net.jp (2)

  • iPhone 実機のネットワーク通信をキャプチャする : Objective-C プログラミング

    iPhone などの iOS デバイスのネットワークトラフィックを、Mac を使って監視することができます。 設定は簡単で、USB ケーブルで Mac と iOS デバイスとを接続したら、ターミナルから次のコマンドを実行します。 接続している iOS デバイスの UUID を指定すると "Starting device xxxxxxxxxxx [SUCCEEDED]" というようなメッセージが表示されて、これでパケットをキャプチャする準備は完了です。 間違った UUID を指定すると、エラーも何も表示されずに rvictl コマンドが終了する様子でした。 上手くいくと、ネットワークインターフェイスとして "rvi0" といった名前のインターフェイスが出来上がるので、ここを流れる通信を監視します。 通信の監視は tcpdump とか Wireshark とかいったパケットキャプチャソフトウェ

  • Objective-C の atomicity について調べてみる

    Objective-C のプロパティには、属性として atomic や nonatomic というキーワードが指定できるようになっています。 これらを省略した場合は atomic が指定されたのと同じで、この "atomic" という単語を直訳すると "原子性" とか "不可分" とか、そういった意味合いになります。 このキーワードを知った当初には、次のような意味合いがあると認識していたのですけど、どうやらちょっと思っていたのと違うようです。 atomic は、マルチスレッド環境でスレッドセーフを実現する、らしい。 atomic プロパティを @synthesize で実装すると、setter や getter を @synchronized (self) で括ったのと同じになる、らしい。 それならつまり、単一スレッドでの使用を前提としないクラスを作成するときは、プロパティは atomic

    sasa_zuka
    sasa_zuka 2012/12/28
  • 1