クライアントからサーバーに対してUDPパケットを送信した場合、サーバーはポートが解放されているから受信出来るとして
その後、サーバーからクライアントに返信した場合、クライアントアプリケーション側で受信できるのって

クライアントからサーバーに送信した地点で一時的にポート解放されてるから?
ファイアウォール等で受信拒否していてもつながるのも同じ理由なんだろうか

もしそうだとしたら、サーバーと通信中の2つのクライアントにお互いのIPとポートを教えて
お互いに何度かパケットを送信すれば何回目かで届き、
一度サーバーを経由するけど、そんな感じでP2Pネットワークを構築することってできる?

ためしにサンプルプログラムを組んでみたらうまくいったんだが、理論的にはどうなんだろう。
ルーターとかネットワーク環境によってはだめなんかな・・・

長文すまそ
あとスレチだったらすまそ