MSDN上给出的答案我觉得有可能是正确的: 是NAT未设置内网环回的原因. 因为我的ClientA 和ClientB都在同一个NAT后, 因此它们的公网IP是一样的, 不同的只是公网端口, 而即使是cone NAT也是默认不支持同一个公网IP之间的UDP穿透的.
--------------------------------------------------------------------
就是以上这个原因.如果说同处一个 nat 下就要用内部IP和端口进行通讯.
你可以对公网IP进行比较以检查是否在同一个NAT 下面.