私はNATのパンチスルーを読んでいます。私はアイデアを得ているようだが、それを実装するのは苦労し、私はここで一歩足りないと感じている。 この機能をテストするのは難しいです。インターネットベースの接続の場合、環境をほとんど制御できないからです。NATPはP2Pの概念を理解しているパンチスルー
サーバーとクライアントの両方の外部アドレスと、外部から見たポートを保持する「ファシリテーター」として実行するSQLサーバーがあります。 - サーバー/クライアントIP/PORTを格納するWebリクエスト(PHPスクリプト)を使用してSQLサーバーに接続します。 - 両方がわかっている場合、クライアントとサーバーの両方が接続を試みますクライアントは設定されたポートで接続します) - 重要なことはありません
ここには2つの未知数があります。私はあなたにチェックしたいと思います。 NAT-Punchthroughは、それ以降のステップで接続する予定の正確な(内部/ LAN)ポートで最初のステップを実行する必要がありますか?
もしそうなら、私は私のサーバーは、水中でどのように動作するかを正確に知っていないので、それはその後、私の最初の与えられた静的ポートがオーバー接続するための複数のポートを必要とするかもしれないが、それは、少なくとも私にヒントを与えます。
誰かがこの文書をお持ちの場合は、私にお知らせください。
出典:
Programming P2P application
http://www.mindcontrol.org/~hplus/nat-punch.html
だから、ストーリーは短いです。ちょうど1ポートまたは線形増分から私たち自身のNAT-パンチスルーを作ることができると思うのは馬鹿であるので、代わりに私たちのためにこの "マジック"ビットを行うサービスを見つけるべきでしょうか? – Smileynator
あなたが試してはいけない理由はありませんが、[この前の研究](http://www.brynosaurus.com/pub/net/p2pnat/)によれば、あるスキルで成功率は60%程度になる可能性があります。あなたが試して結果を得るなら、あなたがしたことを他の人が知っていることは素晴らしいフィードバックになるでしょう。 –
少なくとも生産で渡すためには最大90%を得る必要があるため、これから後退する予定です。 NAT-Punchtroughを提供できるサービスがあります。しかし、私の知る限り、彼らはすべてソケットのようなものをしているので、あなたはこの魔法をLinuxサーバで実行しているのです。彼らは約90%の成功を収めています。 100%の信頼性が必要な場合は、RELAYサーバーを使用しています。これはPhoton Networkingのようなものです。これはしばしば高価になります。小さなチームで右に出くわすのは難しいです! #遅延 – Smileynator