問題タブ [gamekit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2363 参照

ios - iPhone SDK: GameKit と大きなファイル + 接続が失われる

しばらくの間、私は GameKit で遊んでいましたが、今は非常に困難に直面しています。

Bluetooth 経由でより大きなファイル (1 ~ 2 MB) を送信します。すでにパケットを用意しています (それぞれ約 8kB)。

私のアプリは、次のスキームで説明されているように機能します。

以下を使用して、ファイル部分とメッセージ (配信の確認) の両方を送信します。

および受信データ:

Bluetooth 伝送中に発生する可能性のある問題にどのように対処するかを知りたいです。ドキュメントを参照しても、データが配信されたかどうかについて、GKSessionDelegate から情報が得られません。

90% の場合、転送は正常に機能しますが、突然停止し、再接続またはアプリの再起動なしでは続行されないことがあります。

1秒以内に応答が得られない場合にデータを再設定する簡単な解決策を発明しようとしました:

送信者がファイル部分の配信成功の確認を受信した場合、timeOutTimer は無効になります。しかし、実際にこのソリューションを実装すると、さらに多くの問題が発生します。

デバイスは机の上で隣り合っています。

デバイス間の「未配信」データの問題にどのように対処していますか? これは単なるツールですが、ゲームの開発中にどのように煩わされるのでしょうか?

ちなみに、短いチャット メッセージを送信しても問題は発生せず、同じ方法を使用しています。

実際、接続が失われることはめったにありません。データが空中で失われるのが好きなだけです。データのサイズが約 8kb になるようにパーツを既に分割しているため、画像の転送が非常に遅くなります。

0 投票する
2 に答える
1031 参照

iphone - 第 1 世代の iPhone および iPod Touch の GameKit および GKPeerPicker

これは、マルチプレイヤー ゲームの現在のセットアップです。

接続のヒントを提供し、第 1 世代の iPhone または iPod Touch ではマルチプレイヤーが機能しないことをユーザーに警告するビュー。ゲーム ビューをプッシュして GKPeerPicker を開始する「接続」ボタンがあります。

残念ながら、私は第 1 世代の iPhone または iPod Touch を持っていないので、接続ボタンを押したときに何が起こるかをテストできません。ビューはプッシュされますが、PeerPicker が表示しようとするとどうなるかわかりません。

だから質問:

「接続」ボタンを無効にできるように、ユーザーが GameKit を使用できないかどうかを確認する方法はありますか?

接続ボタンを押しても GameKit が利用できない場合はどうなりますか?

0 投票する
2 に答える
611 参照

iphone - GameKit を使用した同期の問題

gameKit を使用して動きの情報をやり取りする単純な 2 人用のスネーク ゲームを作成しようとしています。サーバーがゲームを開始するコマンドを送信して、ゲームを開始します。ゲームが開始されると、ヘビを動かすタイマーが 0.5 秒ごとに起動します。何をしても、2 つの iPhone のタイマーが異なる時間に作動することになります。デバイス間で情報を確実に同期するための提案やアドバイスはありますか?

よろしくお願いします。

0 投票する
2 に答える
2032 参照

bluetooth - IPhone 3.0 の Gamekit サーバーがサポートできるクライアントの数

iPhone SDK 3.0 の GameKit は、サーバー クライアント モデルを使用して、2 台の iPhone 間のピア ツー ピア Bluetooth 接続を作成します。Bluetooth 仕様では、最大 7 つのクライアントをサーバーに接続できます。しかし、GameKit ドキュメントには、この問題についての言葉はありません。GameKit サーバーは 7 つ以上のクライアントを接続できるということですか? はいの場合、一部のクライアントがスリープ モードになっているということですか?

ありがとう!

0 投票する
2 に答える
5292 参照

iphone - GameKitのwifi接続?

iPhone OS 3.1の時点で、GameKitはwifi接続をサポートしていることを読みました。しかし、ドキュメントには次のように記載されています。

「アプリケーションがインターネット接続を許可するようにピアピッカーを構成する場合、アプリケーションはピアピッカーを閉じて、インターネット接続を構成するための独自のインターフェイスを提示する必要もあります。」

これはまだ立っていますか?もしそうなら、GKが使用できるwifi Bonjourセッションを確立するにはどうすればよいですか?(私はローカルネットワークの使用にのみ興味があります。)

0 投票する
1 に答える
560 参照

iphone - Gamekit がこのように設計されているのはなぜですか? クライアントモードでもすべての通知が受信されます

GKPeerPicker コントロールは使用していません。カスタムUIを実装しています。さまざまな言語/プラットフォームで、従来のクライアント サーバー アプリをいくつか作成しました。

Gamekit では、1 つはサーバー モードで、残りはクライアント モードです。ピア モードを使用していません。それでも、新しいクライアントが接続するたびに、すでに接続されているすべてのクライアントに、クライアントの接続と切断が暗黙的に通知されます。また、「sendToAll」を使用してクライアントからデータを送信すると、サーバーに接続されているすべてのクライアントに到達します。

つまり、サーバーのピア ID と残りのピア ID を明示的に維持する必要があります。プログラミングでは小さな作業ですが、そのデザインに興味があります。従来のクライアント サーバー ソケット プログラミングでは、このすべてがありません。たとえば、2 つのクライアントがスロットをキャプチャする場合、サーバーは最初の要求を処理し、スロットを埋めて、2 番目の要求を拒否します。

このデザインによる利点はあまりありません。私の間違いを指摘して、なぜこのように設計されているのか教えてください。

0 投票する
1 に答える
693 参照

iphone - iPhone SDK のどの部分が Bluetooth を処理しますか?

iPhone から Bluetooth を使って Mac にデータを送信できるようにしたいですか? これは可能ですか?GameKit では 2 台の iPhone を接続できると思いますが、コンピューターへの接続については何もわかりません。

0 投票する
7 に答える
9332 参照

iphone - 原則として、Android デバイスが Bluetooth/GameKit を介して iPhone と接続することは可能ですか?

(私は純粋な理論には興味がありませんが、実用的な短期または中期の可能性として、たとえば 12 ~ 24 か月以内に.)

2 つの主要なスマートフォン プラットフォームに精通している (ただし専門ではない) 開発者として、iPhone アプリの GameKit ベースのネットワークに自分自身を偽装できる Android ライブラリが登場すると予想できます。モデムがメトカーフの法則によって PC/Mac プラットフォームに利益をもたらしたのと同じように、プラットフォーム間の Bluetooth インターフェースが有用なアプリケーションを作成する機会を二乗する可能性があることは理にかなっているように思われます。

私は2つの答えのいずれかを探しています:

  1. これは明らかに可能性が低いですか (たとえば、暗号化のため)? もしそうなら、その理由は何ですか?原則として可能ですが、何年ものリバース エンジニアリング (SMB/CIFS/Samba など) が必要ですか? それとも時間の問題でしょうか?あなたの理由を裏付ける証拠を示してください。

  2. GameKit 以外に直接ピアツーピア ネットワークを使用する別の方法はありますか? たとえば、Bluetooth やアドホック WiFi を使用した手作業のネットワークですか? Android デバイスを既存の iPhone アプリに偽装するのは良いことですが、私の主な質問は、デバイスが相互に通信できるかということです。

0 投票する
1 に答える
2650 参照

iphone - GameKit: GKPeerPickerController なしで GKSession を使用する場合の接続タイプは何ですか

のベースチャットプログラムを実装してBlueToothいます。接続目的で使用しています。しかし、いくつかの特別な要件のアプリケーションのため、デフォルトを使用できません。そのため、ピアを検出するためにandコンボを作成しました。お互いを見つけたら、チャットできます。WifiiPhoneGameKitGKPeerPickerControllerGKSessionGKSessionDelegate

今、私は、1 つのシミュレーターと 1 つ、1 つと1つmac-minisを使用して、3 つのチャット機能をテストしました。上記のすべてのシナリオでチャットできます。しかし、とがお互いを検出しない方法もあります。simulatoriPodiPhoneSimulatoriPhoneiPod

また、これらすべてのデバイス間で発生している接続の種類にも興味があります。理論的にはとGameKitの両方をサポートするためです。問題は、と の間で具体的に選択することです (残念ながら、 の実装はどこにも文書化されていません) 。利用可能な唯一のメソッドを使用してオブジェクトを作成する場合:BlueToothWiFiGKPeerPickerControllerBlueToothWiFiWiFiGKSessionGKSessionDelegateGKSessioninit

これが提供する唯一の構成オプションですsessionModeが、3つのオプションしかありません

Bluetoothいずれもとの間の接続の選択を示していませんWiFi

しかし、私は を無効bluetoothにして、動作するようにiPodテストしたmac-miniので、これは を使用していると思いWiFiます。また、ログには次の行が表示されます。

DNSServiceRegisterとのudp部分は、コミュニケーションが起こっていると思わせますTCP/IP

つまり、これは、最初からデフォルトの通信方法がWiFiのみであることを意味しGKSessionますGKSessionDelegateか、それとも両方を同時にサポートWiFiしますか(ただし、接続が行われているという単一の兆候は得られませんでした)。bluetoothBlueTooth

しかしGameKit、主にそうであるはずBlueToothですよね?正確に何が起こっているのか、状況を明らかにできる人はいますか?

また、誰かが WiFi インターフェイスを実装したサンプル コードを見たことがあります GKPeerPickerControllerか?


解決済み:

わかりました。自分で見つけました。質問で述べたようにGKSession、カスタム実装は と の両方で機能します。実際に私が使用しているにはいくつかの問題があり、おそらくそれが適切に動作するのを妨げていました。電話をハードリセットしてモードをオフにした後、数回オンオフすると電話で動作しました。現在、アプリはモードとモードの両方で正常に動作しています。GKSessionDelegatebluetoothWiFiiPhone (JailBroked)BlueToothGamekitAirplanebluetoothbluetoothWiFiBlueTooth

0 投票する
2 に答える
1432 参照

iphone - GKPeerPickerController と GKSession

Bluetooth で接続できるのは、GKSession と GKPeerPickerController を使用する iPodtouch または iPhone のみです。、または他のBluetoothデバイスを接続できますか?