我有一个服务器应用程序,它将同时接收超过 200 个 UDP 数据包(最大 64 字节的字符串),出于测试和性能目的,我想检查服务器中的 UDP 缓冲区以检查是否超出限制。有没有办法做到这一点?当服务器接收数据包时,执行缓冲区大小检查是否好?
多谢
答案1
是的,你可以,但确切的语法取决于编程语言和提供的 API。例如,在 Python 中,我们可以通过以下方式获得:
import socket
# Create a UDP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
print('RCVBUF={}'.format(sock.getsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF)))
对于您的第二个问题,是的,检查缓冲区大小是否足够通常是一个好主意。在我的 Windows 10 上,上面的代码显示默认缓冲区大小为 64 KiB,对于您的示例来说,这似乎足够大了。