thrift服务端获取客户端ip地址。
来源:互联网 发布:ios网络游戏数据修改 编辑:程序博客网 时间:2024/06/06 08:28
<pre name="code" class="java">public class TProcessorMng implements TProcessor {private TProcessor processor;public TProcessorMng(TProcessor processor) {this.processor = processor;}public boolean process(TProtocol in, TProtocol out) throws TException {TTransport t = in.getTransport();InetAddress ia = t instanceof TSocket ? ((TSocket) t).getSocket().getInetAddress() : null;// Now you have the IP address, so what ever you want.System.out.println(ia);MaizuoConfig serverConfig=MaizuoConfig.getInstance();String ipList = serverConfig.getConfig().getString("ipList");List<String> limitIp = new ArrayList<String>();String[] strs=ipList.split(",");for(String substr:strs){limitIp.add(substr);}String reqIp = ia.toString().replace("/", "");// Delegate to the processor we are decorating.if (!limitIp.contains(reqIp)) {MaizuoLogUtil.writeLog(22+"", 22+"", "", "IP:", reqIp+"", "不在ip群中.", "1");System.out.println("ip错误,禁止访问.");return false;}System.out.println("ip正确.");return processor.process(in, out);}}
/** * 多线程服务器端使用标准的堵塞式I/O */public void startPoolServer() { try { MaizuoConfig serverConfig=MaizuoConfig.getInstance("editorbase");int port = serverConfig.getConfig().getInt("serverPort"); TServerSocket serverTransport = new TServerSocket(port); System.out.println("serverPort:" + port); EditorService.Processor process = new EditorService.Processor(new EditorProcess()); Factory portFactory = new TBinaryProtocol.Factory(true, true); TProcessor tpm = new TProcessorMng(process); Args args = new Args(serverTransport); args.processor(tpm); args.protocolFactory(portFactory); args.maxWorkerThreads = serverConfig.getConfig().getInt("maxWorkerThreads"); args.minWorkerThreads = serverConfig.getConfig().getInt("minWorkerThreads"); System.out.println("maxWorkerThreads:" + args.maxWorkerThreads + "minWorkerThreads:" + args.minWorkerThreads); TServer server = new TThreadPoolServer(args); System.out.println("editorserver is startup success!"); server.serve(); } catch (TTransportException e) { e.printStackTrace(); }}
在构造该函数的时候,process会自动运行。
0 0
- thrift服务端获取客户端ip地址。
- C#如何获取客户端/服务端IP地址
- 两种方式获取Thrift调用的客户端IP地址
- ASP.NET获取主机名、客户端IP地址、服务端IP地址、客户端MAC地址
- 获取客户端和服务端的真实IP地址
- Java获取访问服务端的客户端IP和MAC地址
- 客户端TCP时间获取以及实现服务端获取客户端IP地址
- 获取无论客户端/服务端IP
- 获取客户端IP地址
- 获取客户端ip地址
- 获取客户端IP地址
- 客户端获取IP地址
- 获取客户端IP地址
- 获取客户端IP地址
- 获取客户端IP地址
- 获取客户端IP地址
- 获取客户端ip地址
- 获取客户端ip地址
- R语言利用逻辑回归模型预测用户活跃
- 【JavaScript】Helloworld
- Problem 2014
- 模拟器键盘不能弹出的解决方案
- 发给汉宫飞燕军阀割据
- thrift服务端获取客户端ip地址。
- vc中各种类型字符串的转换,CString, BSTR, LPCTSTR 概念
- ...很反感鹤发童颜人妒忌
- XMPP文件传输过程
- 代码将imageview加入相对布局中
- 禁用Direct Path read等待事件实验分析
- 人类社会形态发展前瞻
- Small RNA测序
- c# NetworkStream.Write工作机制