AのグローバルIPをgA、送受信ポート番号をpA
BのグローバルIPをgB、送受信ポート番号をpBとすると、
UDPホールパンチングって
1.AがgB:pBに適当なパケットを送信(Bのルーターで破棄)
2.Aが同じポート番号で受信待機
3.BがgA:pAに対して適当なパケットを送信
4.Bの送ったパケットをAが受信
5.その後双方向にUDPパケットを投げ合える

だと思うんだが、Aが何回かBにパケット送ってから同じポート番号でBからのデータを待機してもBが送ったデータが来ない。

根本的に間違いをしているように思うんだがどこが間違ってるんだろう?