在C中限制套接字上载速度

时间:2014-05-03 16:19:32

标签: c++ c sockets

我有一个用c ++编写的服务器应用程序,它正在向socket发送数据(客户端正在读取它)。我需要限制"上传速度"到那个插座。有没有简单的方法来做到这一点?我有一个数字,它代表的是kB / s,应该是上传速度。

我正在使用:

#include <sys/types.h>
#include <sys/socket.h>

ssize_t send(int sockfd, const void *buf, size_t len, int flags);

1 个答案:

答案 0 :(得分:4)

开头简单方法怎么样?

  • 维护每个目的地的发送缓冲区以累积要发送的字节

  • 设置1秒重复计时器

  • 在计时器到期时,最多从缓冲区发送指定的字节,用于每个目的地

对于更智能的复杂解决方案,需要根据发送历史记录动态计算休眠时间。