`
wandejun1012
  • 浏览: 2748921 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

netty 取IP

 
阅读更多

 

核心代码:

public class ServerHandler extends SimpleChannelInboundHandler<HttpObject> {
	@Override
	public void channelRead0(ChannelHandlerContext ctx, HttpObject msg)
			throws Exception {
		if (msg instanceof HttpRequest) {
			HttpRequest mReq = (HttpRequest) msg;
			String clientIP = mReq.headers().get("X-Forwarded-For");
			if (clientIP == null) {
				InetSocketAddress insocket = (InetSocketAddress) ctx.channel()
						.remoteAddress();
				clientIP = insocket.getAddress().getHostAddress();
			}
		}
	}
}

 

 

refurl:http://www.bubuko.com/infodetail-373799.html

 

http://stackoverflow.com/questions/6520624/jboss-netty-getting-user-ip-http-request

 

http://my.oschina.net/penngo/blog/215807?fromerr=nHCixuYR

 

 

 

分享到:
评论

相关推荐

    面向酒店的智能取电系统的设计与开发.pdf

    4. **设备通信协议**:智能取电开关与服务器之间的通信基于TCP/IP协议,利用Netty这一高性能、事件驱动的应用程序框架,确保数据传输的稳定性和安全性。通信协议中包含帧头、预留位、报文类型、报文长度、设备ID和帧...

    中兴软交换解决方案:MultiPhone

    MultiPhone用户的IP地址通常与PC机的IP地址一致,具体是公网还是私网地址取决于运营商的IP地址规划。对于电话号码的分配,如果用户只需作为主叫,可以不配置电话号码;如果既需要作为主叫又需要作为被叫,则需要一...

    分隔符和定长解码器的应用

    例如,TCP/IP协议中常用的换行符('\n')或换行回车符组合('\r\n')。分隔符解码器的作用就是根据设定的分隔符,将接收到的数据流分割成一个个独立的帧,方便后续处理。 2. 定长解码器(FixedLengthFrameDecoder)...

    Java 读取写Redis里的数据

    - Jedis是较早且广泛使用的库,而Lettuce则提供了更现代的Netty支持和异步API。 3. **Jedis的使用**: - 添加Jedis依赖到你的项目(例如,在Maven中添加对应的依赖项)。 - 创建Jedis实例,指定Redis服务器的IP...

    redis jar包

    Lettuce是另一个Java客户端,相比于Jedis,它提供了更全面的异步和反应式编程支持,基于Netty框架,适合于微服务和高并发环境。Lettuce的特点包括: 1. 异步和反应式API:Lettuce通过Reactor或CompletableFuture...

Global site tag (gtag.js) - Google Analytics