2015-05-06 52 views
1

是否有任何機制/ api可以通過它從http客戶端控制TPS匹配?限制HTTP持久連接每秒的事務數使用Netty(http客戶端)

從HTTP客戶端來說,我需要控制點擊次數來休息服務(我的HTTP客戶端會以受控的方式打到服務器)。

+0

有幾個細節會有幫助: 1.你的客戶端是如何被調用的?它是一個簡單的控制檯應用程序還是作爲Web服務本身運行? 2.如果是服務,它是否有數據庫? 如果它僅僅是一個while(true)應用程序中的應用程序,請使用Thread.sleep() –

回答

0

您可以通過將Netty的IpFilterHandler作爲第一個處理程序添加到服務器管道來立即關閉它。它也將停止傳播過濾的連接的上游通道狀態事件。

@ChannelHandler.Sharable 
public class FilterIPHandler extends IpFilteringHandlerImpl { 
private final Set<InetSocketAddress> deniedIP; 

public filter(Set<InetSocketAddress> deniedIP) { 
    this.deniedIP = deniedIP; 
} 

@Override 
protected boolean isAnAccpetedIP(ChannelHandlerContext ctx, ChannelEvent e, InetSocketAddress inetSocketAddress) throws Exception { 
     return !deniedIP.contains(inetSocketAddress); 
} 
} 
相關問題