中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Windows系統下安裝Thrift的方法與使用講解

發布時間:2020-09-29 20:32:59 來源:腳本之家 閱讀:198 作者:灰灰是菇涼呀 欄目:編程語言

安裝

下載

下載地址:http://archive.apache.org/dist/thrift/0.10.0/

將thrift-0.10.0.exe放到一個文件下,如F:\thrift下,將其重命名為thrift.exe。如果不重命名,需要使用thrift-0.10.0調用thrift命令。

配置環境變量

Path中添加變量值,值為thrift.exe的地址,如F:\thrift。

測試

命令行輸入thrift -version,如果輸出thrift的版本即表明安裝成功。

使用

編寫IDL接口

HelloService.thrift

namespace java com.thrift.demo.service 
service HelloService{ 
 string sayHello(1:string username)
}

編譯

編譯之后會生成類HelloService

thrift -gen java HelloService.thrift

編寫實現類

HelloServiceImpl.java

public class HelloServiceImpl implements HelloService.Iface {
 @Override
 public String sayHello(String username) throws TException {
 return "Hello Thrift Service : " + username;
 }
}

編寫服務端代碼

public class HelloServer {
 public static final int SERVER_PORT = 8090;
 public void startServer() {
 try {
  System.out.println("HelloService TSimpleServer start ....");
  TProcessor tprocessor = new HelloService.Processor<HelloService.Iface>(new HelloServiceImpl());
  // 簡單的單線程服務模型,一般用于測試
  TServerSocket serverTransport = new TServerSocket(SERVER_PORT);
  TServer.Args tArgs = new TServer.Args(serverTransport);
  tArgs.processor(tprocessor);
  tArgs.protocolFactory(new TBinaryProtocol.Factory());
  TServer server = new TSimpleServer(tArgs);
  server.serve();
 } catch (Exception e) {
  System.out.println("Server start error!!!");
  e.printStackTrace();
 }
 }
 public static void main(String[] args) {
 HelloServer server = new HelloServer();
 server.startServer();
 }
}

編寫客戶端代碼

public class HelloClient {
 public static final String SERVER_IP = "localhost";
 public static final int SERVER_PORT = 8090;
 public static final int TIMEOUT = 30000;
 public void startClient(String userName) {
 TTransport transport = null;
 try {
  transport = new TSocket(SERVER_IP, SERVER_PORT, TIMEOUT);
  // 協議要和服務端一致
  TProtocol protocol = new TBinaryProtocol(transport);
  HelloService.Client client = new HelloService.Client(protocol);
  transport.open();
  String result = client.sayHello(userName);
  System.out.println("Thrify client result =: " + result);
 } catch (TTransportException e) {
  e.printStackTrace();
 } catch (TException e) {
  e.printStackTrace();
 } finally {
  if (null != transport) {
  transport.close();
  }
 }
 }
 public static void main(String[] args) {
 HelloClient client = new HelloClient();
 client.startClient("Michael");
 }
}

運行

先運行服務端,再運行客戶端。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武城县| 遂溪县| 青冈县| 大厂| 平乐县| 惠水县| 江北区| 湘潭市| 湖州市| 彰化县| 若尔盖县| 平阳县| 盖州市| 乐至县| 郎溪县| 军事| 神木县| 南京市| 信丰县| 泾源县| 施甸县| 江油市| 麻阳| 通辽市| 南丹县| 饶平县| 福贡县| 赤水市| 普兰县| 衢州市| 鞍山市| 丽水市| 天长市| 达拉特旗| 双城市| 辛集市| 铁力市| 镇沅| 阿坝县| 怀远县| 望都县|