001package net.gdface.thrift;
002
003import java.net.SocketAddress;
004
005import com.facebook.nifty.core.ConnectionContext;
006import com.facebook.nifty.core.RequestContext;
007import com.facebook.nifty.core.RequestContexts;
008
009/**
010 * @author guyadong
011 *
012 */
013public class ServiceUtil {
014        private ServiceUtil() {}
015        /**
016         * 返回客户端IP地址
017         * @return
018         */
019        public static final SocketAddress niftyClientAddress(){
020                RequestContext request = RequestContexts.getCurrentContext();
021                if(null == request){
022                        return null;
023                }
024                ConnectionContext connect = request.getConnectionContext();
025                return connect.getRemoteAddress();      
026        }
027        public static final String clientAddressAsString(){
028                SocketAddress address = niftyClientAddress();
029                return null == address ? "unknow" :address.toString();
030        }
031}