如何通过UDP套接字发送大数据?

时间:2018-12-13 03:37:57

标签: multithreading sockets bigdata udpclient

现在,我正在构建一个应用程序,以通过UDP将大数据从客户端发送到服务器。我有一些问题:

  1. 我应该使用一个线程发送数据还是使用多线程发送数据?
  2. 如果我应该使用多线程发送数据,我将对所有线程使用一个套接字还是对每个线程使用一个套接字?

谢谢

1 个答案:

答案 0 :(得分:1)

  

我应该使用一个线程发送数据还是使用多线程发送数据?

任何一种方法都可以工作,因此主要取决于个人喜好。如果是我,我将使用一个线程而不是多个线程,因为多个线程很难正确实现,在这种情况下,它们不会为您带来任何额外的性能,因为您的吞吐量瓶颈几乎肯定会是硬盘或网卡,而不是CPU内核的速度。

  

如果我应该使用多线程发送数据,我将对所有线程使用一个套接字还是对每个线程使用一个套接字?

同样,任何一种方法都可以工作(对于UDP),但是如果是我,我会在每个线程中使用一个套接字,这仅仅是因为这样您就不必在进程设置和过程中担心太多竞争条件了,关闭(即每个线程仅创建并销毁其自己的单独/专用套接字,因此不必担心谁在什么时候对套接字进行操作)