問題タブ [p2p]

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 投票する
1 に答える
3098 参照

java - Java で実装されている Bittorrent ピア ワイヤ プロトコル

Bittorrent Peer Wire Protocol に関していくつか質問があります。この仕様を使用して Java で実装しようとしています。

Peer Wire Protocol セクションでは、すべての整数は 4 バイトのビッグ エンディアン値であると書かれています。私の知る限り、Javaはビッグエンディアンを使用しています。チョークメッセージを送信したい場合は、ということですか

チョーク:<len=0001><id=0>

sokcet 1 の後に 0 を書き込むだけですか?

私の2番目の質問について。作品をリクエストするとき、複数のファイルを 1 つの大きな連続したファイルと見なしますか? または個々のファイルで考えますか?ピースの長さがファイルと一致しないため、1 つのインデックスに 1 つのファイルの終わりと別のファイルの始まりの両方を含めることができますか?

ピアへの接続を開いてハンドシェイクを送信するときの最後の質問については、ピースをリクエストし続けるか、リクエストしてからしばらく待ってから、何かをリクエストするかどうかを確認しますか? 話はどのように行われますか?私は主にhttpタイプのネットワークプログラミングを行っており、何かを要求して応答を待ちます。しかし、作品をリクエストし続けたら、どのように作品を送るのですか?

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

.net - .NET用のシンプルなピアツーピアネットワークライブラリ

ローカルLAN上で少量のデータを見つけてそれ自体の他のインスタンスと交換する必要があるサーバーアプリケーションがあります。

これは、アプリケーションの重要な部分ではありません。

中央サーバーまたは事前構成なしでピアツーピアで実行する必要があります。

このようなことをする既存のライブラリはありますか?


編集

私は.NET2.0を使用しており、Windowsソケットをベースにしたものを好むことを述べておく必要があります。

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

iphone - iPhone - P2P でのデータ転送方法

P2P アプリケーションを実装しようとしています。私がやろうとしているのは、デバイス間でカスタム NSObject クラスのデータを転送することです。「receivedData」メソッドが GKSession によって呼び出されるタイミングを把握できません。

これが私がやったことです

  1. 通常の接続とピアとのダイアログ ボックスの表示

  2. アプリがピアの状態変更を受信し、状態が Connected の場合、NSCoding メソッドを使用してすべてのピアにデータを送信します (理想的には、各ピアが接続を受け入れるときにこれを呼び出す必要があります)。

  3. receivedData では、NSData をデコードして NSObject インスタンスを取得しています

問題は、両方のデバイスでsession:peer:didChangeState:メソッドが呼び出されないことです。PeerPicker アラートで「接続」ボタンをタップしたデバイスで呼び出されるだけです。

質問

  1. didChangeState はいつ、誰のために呼び出されますか? ピアが接続されているときにピアごとに呼び出されるべきではありませんか?

  2. receivedData: メソッドはいつ、誰のために呼び出されますか? メッセージの受信 (ハンドシェイク) を確認するために呼び出されるのか、それとも他のピアから送信されたデータを送信するために呼び出されるのか?

助けてくれてありがとう。

0 投票する
6 に答える
86167 参照

iphone - 特定の iPhone/iPod touch モデルを検出する

重複の可能性:
iOS でデバイス (iPhone、iPod Touch) を特定する

私は、iPhone (およびおそらく第 2 世代の iPod touch) のピアツーピア Bluetooth 機能を利用するゲームを作成しています。ただし、ユーザーが第 1 世代の iPod と iPhone 2G でマルチプレイヤーをプレイしようとするのを防ぐには、特定のデバイス モデルを確認する必要があります。

[[UIDevice currentDevice] model] は、デバイスが「iPhone」か「iPod touch」かだけを教えてくれます。「iPhone 3GS」、「iPod touch 第 1 世代」など、特定のデバイス モデルを確認する方法はありますか。

編集:

特定のデバイス モデルを取得するために次のコードを使用する UIDevice のカテゴリがあります (Erica Sadun によって作成されたと思いますが、私は信用しません)。他の便利なものとともに、ここでカテゴリ全体を見つけることができます: https://github.com/erica/uidevice-extension

これは機能し、これを使用するアプリは最近 AppStore で承認されました。

0 投票する
4 に答える
4669 参照

flash - Flash10 + p2p は本当に動作しますか?

私はぐるぐる回っていますが、まだ取得できません。一部の人々はこう言います:ほら、使ってください。他の人は、Flash で p2p を思い通りに使用できない特定の制限があると主張しています。

簡単な質問ですが、既存の torrent ファイルの一部を使用してビデオ/オーディオをユーザーのブラウザにストリーミングする Flash10 アプリケーションを実装することは可能ですか?

いいえの場合 - なぜですか?この「いいえ」の回避策はありますか? はいの場合、実装の難しさは何ですか。また、実際にまだ誰も実装していないのはなぜですか?

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

.net - wcf p2p クラウドで単一のピアに接続する方法は?

私は WCF を使用して、NetPeerTcpBinding を使用して複数のピアが相互に接続できるようにしています。

このメッシュ内の単一のピアに接続する方法はありますか?

できれば、このピアに透過的に連絡して、受信者が常に持っているチャネルをリッスンし続け、送信者がいくつかのフープをジャンプして受信者だけにメッセージを配信するようにします。

0 投票する
9 に答える
10144 参照

php - PHPだけを使用してピアツーピア通信を行うことは可能ですか

PHPだけを使用してp2pを実装することは可能ですか? Flash や Java を使用せず、コンピュータにある種のエージェント/クライアントをインストールすることも明らかにありません。

したがって、「真の」p2pではないかもしれませんが、サーバーを使用して何らかの接続を確立しますが、残りの通信はp2pを使用して行う必要があります

「php」とは、phpバイナリではなく、両方のピアから離れたWebサーバーでホストされているphpスクリプトを意味していたため、各ピアにはブラウザーしかありません。

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

c# - C#でP2Pを実装する方法は?

最近、c#とWinformを使用して簡単なチャットプログラムを開発したいと思います。主な機能はチャットとファイル転送ですが、dotnetを使用してp2pを実装する例が見つかりません。誰が私を助けてくれますか?

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

iphone - GameKit フレームワークで使用される peerID は、デバイスごとに常に一意ですか?

GKSession でデバイスに割り当てられた peerID は、同じデバイスでは常に同じですか? つまり、GKSession を作成するたびに、peerID は同じになりますか? または、GKSession を作成するたびにランダムに割り当てられますか? この peerID はどのように生成されますか?

ありがとう!

0 投票する
6 に答える
1991 参照

networking - P2P ネットワーク ゲーム/アプリ: 「battle.net」のようなマッチング サーバーに最適

ゲーム内で p2p を行うネットワーク ゲーム (1v1) を作成しています。ゲーム サーバーは必要ありません。

ただし、プレーヤーが別のメディアで調整して IP アドレスを入力する必要なく (ネットワーク ゲームの現代の時代と同様に)、「お互いを見つける」ことができるようにするには、調整/マッチング サーバーが必要です。

次の理由により、通常の Web ホスティングを使用できません。

  • クライアントは UDP で通信します。
  • したがって、NAT を通過できるようにするには、UDP ホール パンチングを行う必要があります。
  • これには、サーバーが UDP で通信し、クライアントの IP とポートを知っている必要があります。
  • 通常の Web ホスティング (php/etc) では、クライアントの IP アドレスしか取得できず、TCP (HTTP) でしか通信できません。

私が現在検討しているオプション:

  • プログラムが UDP 接続を受け入れることができるホスティング ソリューションを使用します。(お勧めはありますか?)

  • UDPonNATはこれを行っているようですが、GTalk を使用しており、各クライアントがこのために GTalk アカウントを持っている必要があります (これはおそらく不適切なソリューションになります)。

何か案は?ありがとう :)