使用 C 语言 实现 P2P 通信,并且不希望使用 TURN(例如因性能问题或不想依赖外部服务器),而且希望能够通过 TCP 实现更高效的 NAT 穿越,以下是一些符合这些条件的库和解决方案。
1. PJSIP (使用 STUN 但不依赖 TURN)
虽然你提到不希望使用 TURN,但 PJSIP
是一个非常强大的 SIP 协议栈,支持 TCP 和 UDP,并且可以通过 STUN 实现基本的 NAT 穿越。如果不依赖 TURN,而是仅仅使用 STUN 来帮助设备发现公共地址,应该能达到较高的效率。