c - 未读取的 UDP 数据包会发生什么情况?

标签 c sockets udp buffer

在 C 语言中,我有一个简单的服务器/客户端 UDP 套接字编程示例。 客户端以高速率向服务器发送数据包,而服务器读取每个传入消息并将其发送回客户端。 客户端永远不会读取任何传入消息。

是否有任何理由相信发送回客户端的数据包将填满客户端的缓冲区?如果客户不读任何内容,他们实际上会发生什么?它们会立即被丢弃吗?

最佳答案

内核会将数据包放入套接字的接收缓冲区中,期望应用程序读取它们。当该缓冲区填满时,内核开始丢弃新的数据报。

关于c - 未读取的 UDP 数据包会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13570212/

相关文章:

c - 生成函数和全局变量

c - 如何查找已连接套接字使用的网络接口(interface)

c# - 动态更改 TCPClient 端口

python - 如果装饰器函数在我无法修改的库中,我应该如何捕获可以引发的装饰器函数中的异常?

TCP/IP 数据包和数据报

冲突类型错误消息

我们可以在 printf 中传递指针吗?

c - 从 C 中的二叉搜索树中删除节点

Node.js:禁用 UDP DNS 查找并改用给定的 IP

multithreading - 如何最小化 tcp 服务器应用程序中使用的线程数?