EPOLL或KQUEUE如何对SOCKET进行限速

musics
EPOLL或KQUEUE如何对SOCKET进行限速

EPOLL或KQUEUE模式下如何对SOCKET进行限速,比如针对某个用户的连接的最高速度2MB/s,不是那种每个连接用一个线程或进程来处理延时的

net_robber
我不太清楚应该怎么做

但是 肯定跟EPOLL没有关系

musics
[quote]原帖由 [i]net_robber[/i] 于 2008-6-30 14:17 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8702924&ptid=1184545][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
我不太清楚应该怎么做

但是 肯定跟EPOLL没有关系 [/quote]
其实我想表达的意思就是说不用每个线程处理一个连接的方式,在这个问题上确实与用什么模型没有什么关系.谢谢你的回复

linternt
其实用个网管软件就可以搞定了,楼主必须用代码实现吗?

呵呵,真没想过这块!

musics
[quote]原帖由 [i]linternt[/i] 于 2008-6-30 15:05 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8703220&ptid=1184545][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
其实用个网管软件就可以搞定了,楼主必须用代码实现吗?

呵呵,真没想过这块! [/quote]
用网管软件实现没有那么方便定制,比如你一个FTP 服务器,或者代理服务器,你希望根据用户名实现限速,就很难达到效果了.

system888net
[quote]原帖由 [i]musics[/i] 于 2008-6-30 13:28 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8702514&ptid=1184545][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
EPOLL或KQUEUE模式下如何对SOCKET进行限速,比如针对某个用户的连接的最高速度2MB/s,不是那种每个连接用一个线程或进程来处理延时的 [/quote]

可考虑先用如下简单的方法:
1.程序里计算每个socket的发送速度.
2.每次发送前判断此时发送是否超过上限制,若会超过则延迟n个时间单位,不超过则直接发送.

实现后再用其它较复杂的方法.