erlang之gen_tcp选项{active,N}

最主要参考:erlang R17新socket选项{active,N}html

inet:setopts(Socket, [{active, 300}]),  
erlang:send_after(30 * 1000, self(), release_passive);
大概思路是,在30秒内最多接收300个包,超过就不接收,等待这30秒完成后继续接收,如此反复。
利用这点还能够加多一个计数器,若是超过10次进入passive状态,说明这个Socket存在问题,有攻击的行为。

另外参考:
socket

inet驱动新增长{active,N} socket选项tcp

gen_tcp容易误用的一点解释.net

相关文章
相关标签/搜索