私は、5つのiPodを使ってBluetooth経由で簡単なクライアント/サーバーネットワークを作成しようとしています。 1つのiPodは4つのiPodに "停止"または "行く"のような基本的な文字列を送信し、コマンドを受信するとさまざまな処理を行います。私は現在 PeerPickerなしでGameKit を使用しており、接続を開始することさえ信頼できず、複雑です。一度接続すれば、2つのデバイス間でデータを送信できますが、それ以上のデータは送信できません。iPhoneクライアント/サーバーメッセージブロードキャスト
iPodの「クライアント」にiPodの「サーバー」からネットワークなしで(リモコンのように)簡単な短いメッセージをブロードキャストできるようにしたい。私は戦車やwiTapの例を含め、数多くの例を見てきましたが、ネットワークを必要とせずに何も簡単ではないことに驚いています。それは良いと準備ができたときにトラブルがそのdidChangeState方法火災で
- (IBAction) btnConnect:(id)sender
{
if (sender == connectServer) {
self.currentSession = [[GKSession alloc] initWithSessionID:@"0000"
displayName:nil
sessionMode:GKSessionModeServer];
NSLog(@"Setup Server Connection");
} else { //connectClient
// Peers discover themselves ...
self.currentSession = [[GKSession alloc] initWithSessionID:@"0000"
displayName:nil
sessionMode:GKSessionModeClient];
NSLog(@"Setup Client Connection");
}
amAcceptingConnections = YES;
[self.currentSession peersWithConnectionState:GKPeerStateAvailable];
self.currentSession.delegate = self;
self.currentSession.disconnectTimeout = 30;
[self.currentSession setDataReceiveHandler:self withContext:nil];
// Advertise the session to peers
self.currentSession.available = YES;
}
そして、私は、デリゲートにdidChangeStateとの接続を処理
- (void)session:(GKSession *)session peer:(NSString *)peerID didChangeState:(GKPeerConnectionState)state {
thePeerID = [session displayNameForPeer:peerID];
NSLog(@"didChangeState was called from peerID: %@.", thePeerID);
self.currentSession = session;
switch (state) {
case GKPeerStateAvailable:
thePeerID = [session displayNameForPeer:peerID];
NSLog(@"Peer %@ Available", thePeerID);
[session connectToPeer:peerID withTimeout:30];
NSLog(@"Issued Peer Connection");
//session.available = NO; //TODO: Look at this
break;
case GKPeerStateUnavailable:
NSLog(@"Peer %@ Unavailable", thePeerID);
break;
case GKPeerStateConnected:
NSLog(@"Peer %@ Connected", thePeerID);
break;
case GKPeerStateDisconnected:
NSLog(@"Peer %@ Disconnected", thePeerID);
[self.currentSession release];
currentSession = nil;
break;
}
}
:ここ
は、私が接続を開始する方法です、その動作は予測できません。 BluetoothやGameKitに問題があるかもしれないが、私は接続を「許可」している他のiPodなしで接続したいと思う。これは可能ですか?
私はルータとネットワークが必要なのでしょうか?
は、私は多くの研究を行なったし、私は複数のiPodの通信システムを確立するために、少し5Vワイヤレスアクセスポイントを使用することを決めたあなたに