是否可以将TCP数据包发送到仅UDP服务器?

时间:2018-06-11 13:39:55

标签: c++ sockets tcp udp

我有一台UDP服务器,但我在客户端没有UDP功能。有没有办法通过TCP发送数据包,以便UDP服务器可以正常接收? UDP服务器无法转换为TCP服务器。

想要这样做的原因是我使用的SOCKS5代理不支持UDP关联功能,但我必须使用该代理。

2 个答案:

答案 0 :(得分:1)

没有。 UDP服务器无法完成TCP所需的3次握手。如果你有IP-raw套接字,实际上在顶层实现UDP实际上更容易。但是,您似乎不太可能没有UDP堆栈。

当你谈到"没有UDP功能"你的意思是客户端没有UDP堆栈,或者他只是在阻止UDP的防火墙后面?在后一种情况下使用代理。

答案 1 :(得分:0)

不,UDP服务器根本不会接受TCP数据包(它是一个不同的协议,因此网络堆栈永远不会将它们传播到应用程序)。

如果你必须使用SOCKS5代理,连接到所述服务器的唯一方法是使用另一个类似代理的应用程序,它将超越SOCKS5,接受TCP连接(由SOCKS5代理后面的app发起)并重新传输数据UDP。