我有一个用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);
答案 0 :(得分:4)
以开头简单方法怎么样?
维护每个目的地的发送缓冲区以累积要发送的字节
设置1秒重复计时器
在计时器到期时,最多从缓冲区发送指定的字节,用于每个目的地
对于更智能的复杂解决方案,需要根据发送历史记录动态计算休眠时间。