【问题标题】:How do I establish a UDP connection after a TCP connection?TCP 连接后如何建立 UDP 连接?
【发布时间】:2020-04-05 04:24:11
【问题描述】:

大家好,我目前正在开发一个 C 项目,我们基本上需要通过代理将 N 个客户端连接到服务器。我正在使用 TCP 协议进行第一次连接。在此之后,客户端可以请求使用 UDP 下载文件。我是否需要让另一个套接字监听另一个端口并将客户端再次连接到该端口,或者这是一种不正确的思维方式?

【问题讨论】:

  • 为什么使用 UDP 进行文件传输?为什么不直接使用已有的 TCP 连接?
  • 因为我的大学老师要求我们的程序能够通过UDP和TCP进行下载。 @RemyLebeau

标签: sockets tcp network-programming udp


【解决方案1】:

TCP 和 UDP 以非常不同的方式进行通信。您需要为每个单独的套接字 一个。

您可能希望使用 TCP 套接字与要使用的 UDP 端口通信。

【讨论】:

  • 所以最好的方法是在客户端必须再次连接到服务器的下载请求之后将端口发送给客户端? @dbush
  • 请注意,您可以将 TCP 和 UDP 套接字绑定到相同的端口号。它们将在您的程序中被标识为单独的套接字,但在外部它可能都是相同的端口号
  • @LuisSilva 是的,TCP 通信应该包括一方将侦听的 UDP 端口。然后一端将在该端口上创建一个 UDP 套接字并等待,另一端将创建一个 UDP 套接字并发送到远程端点。
  • @SamMason 那么,让进程/线程在同一个端口等待 UDP 连接是最佳实践吗?
  • @LuisSilva 很高兴我能帮上忙。如果您觉得有用,请随时 accept this answer
猜你喜欢
  • 2017-03-25
  • 2012-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-30
  • 2015-05-25
  • 1970-01-01
  • 2012-09-10
相关资源
最近更新 更多