Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 具有多个侦听端口/套接字的UDP反向代理服务器。。?_Linux_Sockets_Udp - Fatal编程技术网

Linux 具有多个侦听端口/套接字的UDP反向代理服务器。。?

Linux 具有多个侦听端口/套接字的UDP反向代理服务器。。?,linux,sockets,udp,Linux,Sockets,Udp,我在一个UDP集线器服务器上工作,它有几个客户端(大约20000个)。此UDP集线器服务器是网络的一部分,用于远程物联网设备。物联网设备通过此UDP集线器服务器与其应用服务器通信。此UDP服务器从应用服务器接收数据,并将数据分发到各个IOT设备。有几件事困扰着我- UDP集线器服务器监听所有应用程序服务器的单端口套接字可能不是一个好主意,恶意用户可以发送大量数据,使网络繁忙或不可用。我在考虑为每个应用服务器使用单独的端口和套接字。在这种方法中,我可以获得很好的带宽,但问题是如果需要支持20000

我在一个UDP集线器服务器上工作,它有几个客户端(大约20000个)。此UDP集线器服务器是网络的一部分,用于远程物联网设备。物联网设备通过此UDP集线器服务器与其应用服务器通信。此UDP服务器从应用服务器接收数据,并将数据分发到各个IOT设备。有几件事困扰着我-

UDP集线器服务器监听所有应用程序服务器的单端口套接字可能不是一个好主意,恶意用户可以发送大量数据,使网络繁忙或不可用。我在考虑为每个应用服务器使用单独的端口和套接字。在这种方法中,我可以获得很好的带宽,但问题是如果需要支持20000多个应用程序服务器,那么在分配端口号和可伸缩性方面(我们将耗尽端口号)。我正在考虑对侦听器UDP套接字使用epoll_wait(),在单个侦听器线程中对多个侦听器套接字使用epoll_wait()

我将使用速率限制算法来限制每个应用服务器每秒的数据处理

此UDP服务器将从应用服务器收集到达多个端口的数据,并将其移交给队列中的数据包处理器,然后该处理器将数据包发送到所需的IOT设备。基本上充当数据包处理器的反向代理服务器

  • 这种在多个端口上接收数据的方式好吗?还是我应该坚持在单个端口上接收数据
  • 如何将端口号分配给与此反向代理服务器通信的应用程序服务器。是否有向多个客户端分配端口号的标准方法
  • 请注意,我是编码服务器、代理服务器等的新手。。请给我一些建议