c ++打孔UDP(RTP)
我正在做客户端 - 服务器语音聊天程序(非托管C ++,win32),其中客户端使用TCP连接到服务器,textchat / chatroom功能在TCP中完成,而所有audiotransmission都通过单独的UDP / RTP套接字发送(使用API来自JRTPLIB)。
因此,从TCP连接中可以知道IP,并且可以在建立连接后发送RTP套接字的端口号。
问题是在TCP中,只有服务器需要进行端口转发才能使通信在建立连接时双向工作,而在UDP中你必须使用recvfrom() - 这需要在端口中打开端口客户端的第一名,我不想要(如果您查看任何多人游戏或VoIP客户端则不需要)
阅读有关UDP打孔的消息来源(例如http://en.wikipedia.org/wiki/UDP_hole_punching),他们继续提到与服务器开始udp对话。那就是 - 你如何在没有客户端打开任何端口的情况下与服务器实际开始udp对话(两种方式)?在我提到的TCP中你只需要连接()到服务器,并且两种方式都可以进行通信。
另外 - 我知道RTP建立在UDP上,但是我还应该知道关于RTP打孔(再次使用JRTPLIB)的任何其他内容,使其与UDP不同吗?
提前致谢!
没有找到相关结果
已邀请:
1 个回复
辰炔诚薯