c - 如何在 C UDP 套接字程序中配置重传超时?

标签 c sockets udp alarm

我有一个简单的 C 语言 UDP 套接字程序。客户端向服务器传输数据并接收确认。我已经知道如何配置超时,这样如果“recvfrom()”在特定时间段内没有收到任何东西,警报就会响起。

但是,还有一些情况我需要处理。如果我收到来自意外地址的回复,或者回复的格式不正确怎么办?我不想立即重传,只有在闹钟响起时才重传。

如果我需要澄清,请告诉我。

最佳答案

查看select(2)poll(2) - 您可以在套接字上等待指定的时间。然后,您可以根据需要以更短的超时时间重新开始等待。

如果您使用的是 Linux,请查看 epoll(7)timerfd_create(2) .

关于c - 如何在 C UDP 套接字程序中配置重传超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9536247/

相关文章:

c# - 为什么 TcpClient 与构造函数中的参数连接速度较慢?

c# - 有没有办法在 C# 中轮询套接字,仅当某些内容可供读取时?

c - 按消息到达时间选择 fd_set order

c - 带有 gcc 编译器的 UDP recvfrom 警告

c++ - 弄清楚网络、十六进制和 ascii 如何交互

c - 如何将 "clicked"信号和 "key_press_event"连接到同一个回调函数?

c - C 中的 TensorFlow : Why do I get a compilation error in hello_tf. c?

c++ - SublimeLinter 无法检查 C 和 C++

c - gcc 共享库与同一个库中的 header

windows - 为什么 Windows 上的 Perl IO::Socket 在 64 个连接后会提示 "Resource Not Available"?