在做udp穿透時,同一電信運營商可穿透成功。
但在跨運營商時,例如電信和移動間做打洞穿透時,則無法成功,抓包發現在移動能接收到電信peer那邊過來的包,程式中也接收到包并進行了原路回復,則對方無法收到忘了包。無法理解其中原因。
代碼示意如下:
struct sockaddr_in peer_sockaddr;
recvfrom(listen_socket, &peer_sockaddr); //接收到對端發過來的打洞包,地址為peer_sockaddr
sendto(listen_socket, peer_sockaddr)); //使用peer_sockaddr原路回傳
uj5u.com熱心網友回復:
我的UDP穿透,雙方都不能收到對方的包,能看下我的問題嗎?http://bbs.csdn.net/topics/392201967
uj5u.com熱心網友回復:
因為移動是NAT4,你的電信應該是NAT3,NAT4和NAT3不能完全打洞成功轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/109663.html
標籤:網絡通信
