UDP的SO_SNDBUF和SO_RCVBUF设置

UDP的SO_SNDBUF和SO_RCVBUF设置,udp,Udp,SO_SNDBUF和SO_RCVBUF根据套接字缓冲区大小定义。 但在UDP服务器套接字的情况下,这意味着它与该套接字通信的所有目的地的总大小,或者它是来自远程地址的单个连接的大小 例如: 用户A正在从3.3.3.3端口50000向端口1234上的服务器1.1.1.1发送数据 用户B正在从4.4.4.4端口50000向端口1234上的服务器1.1.1.1发送数据 用户C正在从5.5.5.5端口50000向端口1234上的服务器1.1.1.1发送数据 如您所见,只有一个服务器套接字。如果sou S

SO_SNDBUF和SO_RCVBUF根据套接字缓冲区大小定义。 但在UDP服务器套接字的情况下,这意味着它与该套接字通信的所有目的地的总大小,或者它是来自远程地址的单个连接的大小

例如: 用户A正在从3.3.3.3端口50000向端口1234上的服务器1.1.1.1发送数据

用户B正在从4.4.4.4端口50000向端口1234上的服务器1.1.1.1发送数据

用户C正在从5.5.5.5端口50000向端口1234上的服务器1.1.1.1发送数据


如您所见,只有一个服务器套接字。如果sou SNDBUF和sou RCVBUF设置为32KB,这是否意味着服务器上的发送缓冲区和接收缓冲区的总大小将为32KB或96KB?

在UDP的情况下,没有连接,因此“来自远程地址的单连接”没有意义。

您好,可能有逻辑连接,您可以在netstat套接字中看到客户端的另一端地址。至于java,您可以启动连接操作来设置远程地址。然而,问题是缓冲区是总体还是每个目的地。向Yulian Oifat致以最良好的问候我们没有实际的联系。这只是本地API的一种技巧。例如,一端可能是“已连接”,而另一个未连接。不管怎样,你的问题基本上是没有意义的。如果此端已连接,则没有其他人可以发送或被发送到,因此缓冲区当然只应用于连接目标。如果不是,就不是。