私は、マッチメイキングプロセスであっても、サーバを使わずにお互いに接続する2つのクライアント(ピアツーピア)を必要とするプログラムを作成しています。両方のクライアントはすでに互いのパブリックIPとプライベートIPを知っています。一方または両方のクライアントがNATの後ろにいる可能性があります。私はIPv6に頼ることはできません。ランデブーサーバのないUDPパンチスルー
私が問題としているのは、あるクライアント(Aと呼ぶ)が、AのNATの穴をパンチし、すでにパンチされたBのNATを通過するもう一方の(B)にパケットを送信する必要があるということです。ただし、NATの背後にあるBのローカルポートは使用できないため、Aは、BがパンチスルーしたBのNAT上の外部ポートを知る必要があります。さらに、BはNATの背後からこのポートを識別できません。 このポートを識別する方法はありますか、またはBにNATにどのポートを使用するかを伝えるだけですか?
ありがとうございます。
P.S.私は.NET Unityのバージョン2.0を使用しています。
P.P.S.あなたがTCPで動作するソリューションを持っているなら、私もそれを取るでしょう!
P.P.P.S.あるいは、Http以外のプロトコルもかなり!