統計情報(30日間)


最新情報をツイート

人気の投稿

アドホックなP2Pネットワークフレームワーク

このエントリーをはてなブックマークに追加

iPhone同士や、iPhoneとMacの間でアドホックなP2Pネットワークを作り、通信を可能にするフレームワーク。


デバイスの探索から通信の管理までひと通りのことが行える。

Publish Subscribeコマンド

一斉送信ができるっぽい。

Pulbisher側のコード例
#import "threeMF.h"
self.tmf = [TMFConnector new];

// Provide
self.kvCmd = [TMFKeyValueCommand new];[self.tmf publishCommand:self.kvCmd];

// Execute
TMFKeyValueCommandArguments *kvArguments = [TMFKeyValueCommandArguments new];
kvArguments.key = @"msg";
kvArguments.value = @"Hello World!";
[self.kvCmd sendWithArguments:kvArguments];

Subscribe側のコード例
#import "threeMF.h"
self.tmf = [TMFConnector new];

// Discover
[self.tmf startDiscoveryWithCapabilities:@[ [TMFKeyValueCommand name] ] delegate:self];

// Subscribe
- (void)threeMF:(TMFConnector *)tmf didChangeDiscoveringPeer:(TMFPeer *)peer forChangeType:(TMFPeerChangeType)type {
            if(type == TMFPeerChangeFound) {
                 [self.tmf subscribe:[TMFKeyValueCommand name] peer:peer receive:^(TMFKeyValueCommandArguments *arguments){
                 // do awesome things
                 NSLog(@"%@: %@", arguments.key, arguments.value);
            }
            completion:^(NSError *error){
                 if(error) { // handle error
                     NSLog(@"%@", error);
                 }
            }];
          }
      }

Respons Request コマンド

いわゆるRPC的な使い方。
CADAnnounceCommandArguments *args = [CADAnnounceCommandArguments new];
 args.name = self.nameLabel.text;
 args.color = _color;

[self.tmf sendCommand:[CADAnnounceCommand class] arguments:args destination:peer
 response:^(id response, NSError *error){
 // handle response or error
 }];


付属のサンプルプログラムをiPhone5とMacBookProでそれぞれ実行するとMacのスクリーンショットがiPhoneに転送された。

iPhoneの画面


Macの画面





- - - -
高機能にもかかわらず使い勝手が良さそう。


Leave a Reply