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

相關文章
相關標籤/搜索