兩種方式獲取Thrift呼叫的客戶端IP位址

2021-07-09 15:38:37 字數 2412 閱讀 9943

thrift依賴

org.apache.thrift

libthrift

0.9.3

方法一:

package com.lala.server;

import org.apache.thrift.tprocessor;

import org.apache.thrift.protocol.tcompactprotocol;

import org.apache.thrift.protocol.tprotocol;

import org.apache.thrift.protocol.tprotocolfactory;

import org.apache.thrift.server.servercontext;

import org.apache.thrift.server.tserver;

import org.apache.thrift.server.tservereventhandler;

import org.apache.thrift.server.tthreadpoolserver;

import org.apache.thrift.transport.tserversocket;

import org.apache.thrift.transport.tsocket;

import org.apache.thrift.transport.ttransport;

import com.pp.calc.calculator;

import com.pp.calc.impl.calculatorimpl;

/** * 使用事件監聽的方式

*/public class server

}class mytservereventhandler implements tservereventhandler

/*** 建立context的時候,觸發

* 在server啟動後,只會執行一次

*/public servercontext createcontext(tprotocol input, tprotocol output)

/*** 刪除context的時候,觸發

* 在server啟動後,只會執行一次

*/public void deletecontext(servercontext servercontext, tprotocol input, tprotocol output)

/*** 呼叫rpc服務的時候觸發

* 每呼叫一次方法,就會觸發一次

*/public void processcontext(servercontext servercontext, ttransport inputtransport, ttransport outputtransport)

}

方法二:

package com.lala.server;

import org.apache.thrift.texception;

import org.apache.thrift.tprocessor;

import org.apache.thrift.protocol.tcompactprotocol;

import org.apache.thrift.protocol.tprotocol;

import org.apache.thrift.protocol.tprotocolfactory;

import org.apache.thrift.server.tserver;

import org.apache.thrift.server.tthreadpoolserver;

import org.apache.thrift.transport.tserversocket;

import org.apache.thrift.transport.tsocket;

import com.pp.calc.calculator;

import com.pp.calc.impl.calculatorimpl;

/** * 使用**的tprocessor,獲取客戶端ip

*/public class server2

}/**

* **物件

*/class logprocessor implements tprocessor

/*** 該方法,客戶端每呼叫一次,就會觸發一次

*/public boolean process(tprotocol in, tprotocol out) throws texception

}

以上import com.pp.calc.calculator;

import com.pp.calc.impl.calculatorimpl;

spring cloud的兩種呼叫方式

新建乙個spring cloud專案 引入依賴包 org.springframework.cloud spring cloud starter eureka org.springframework.cloud spring cloud starter ribbon 修改配置檔案 name servi...

delphi 呼叫dll兩種方式

1 外部宣告 在delphi中外部宣告是訪問外部例程最容易和最常用的方式,有兩種宣告方式 通過名字 通過索引號。舉例如下 在mydll.dll中有兩個函式和乙個過程,則其外部宣告可以寫成 function test1 integer external mydll 直接通過名稱呼叫test1 注意名稱...

動態方法呼叫的兩種方式

動態方法呼叫的兩種方式 1 使用 方法名呼叫指定方法 假設訪問某乙個action的url為 http localhost 8080 hellword dept list.action 再假設在action中有個login 方法 要呼叫login方法的url為 http localhost 8080 ...