Thrift是基于TCP的,谷歌的GRPC是基于HTTP的。Thrift和GRPC都是比直接写个web接口进行调用更完美的方式,最明显的一点就是:我们可以定义结构体,避免了手动解析的过程。

但是,在将Python作为Thrift服务端,Java作为客户端时,有一个天坑:始终都是connection refused。

windows下查看端口占用:netstat -aon|findstr "8091"。会发现服务正常启动了。
然而多次运行python服务端,竟然不报“端口已占用”的错误。

错误原因是:Python使用了TCPV6,Java使用的是TCP。
改成127.0.0.1解决问题,看来以后再也不要用localhost了,一律使用127.0.0.1

Python:  transport = TSocket.TServerSocket(host="127.0.0.1", port = 9091)
Java:  transport = new TSocket("127.0.0.1", 9091);

参考资料
https://stackoverflow.com/questions/16760741/apache-thrift-python-java-connection-refused

转载于:https://www.cnblogs.com/weiyinfu/p/10022596.html

使用Thrift让Python为Java提供服务相关推荐

  1. python和java哪个好学-学Python 好还是java 好?

    说实话python和java各有各的优点,经过python这几年的快速发展,现在的市场其实很明朗了,python其实更加适合于爬虫机器学习人工智能领域,但是java还是偏向于工程性的领域,所以领域不同 ...

  2. 比较Perl、PHP、Python、Java和Ruby

    !预览 · 语言的发展趋势一定是动静结合.刚柔并济 · Perl凝练晦涩,Python优雅明晰,Ruby精巧灵动,PHP简明单纯 · 或许优雅正是来自对细节和规范的重视 · (RoR)与Ruby结合之 ...

  3. Thrift使用教程(Java版本)

    Thrift简介 Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目.Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC ...

  4. TIOBE 新榜单:Python 超越 Java 重回第二,Rust 崛起

    作者 | 苏宓 出品 | CSDN(ID:CSDNnews) TIOBE 官方最新发布了 5 月的编程语言榜单,不妨一起来看一下本月榜单中又有哪些最新的变化呢? Python 重回第二 和 4 月相比 ...

  5. 项目开发神器VsCode配置指南!(含C++、Python、Java环境配置)

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:吴忠强,东北大学,Datawhale成员 本篇文章虽然是VsCod ...

  6. Python到底是什么样的语言? Python和Java比谁更快? TensorFlow的主体是用Python写的吗?

    Python到底是什么样的语言? Python和Java比谁更快? TensorFlow的主体是用Python写的吗? Python到底是什么样的语言? 解析: 这里是一些关键点:Python是解释型 ...

  7. TIOBE 5 月编程语言榜单:Python 超越 Java 重回第二,Rust 崛起

    ‍ ‍ 作者 | 苏宓 出品 | CSDN(ID:CSDNnews) TIOBE 官方最新发布了 5 月的编程语言榜单,不妨一起来看一下本月榜单中又有哪些最新的变化呢? Python 重回第二 和 4 ...

  8. python跟java 效率_Python与Java:哪个更好,如何选择?

    Python与Java新手应该选哪个?应该是当今讨论最为热门的话题了. 在过去的几年中,Python的普及速度令人惊叹,Java的王者地位也常年不衰.目前两者的竞争愈发激烈,怎么选择成为了许多初学者萦 ...

  9. java x00_有没有通过python反序列化java对象的方法

    我将java对象存储在hbase中(例如,假设我有一个对象'User',有3个参数,比如firstname.middlename和lastname).我在java中使用以下代码进行序列化Object ...

最新文章

  1. 使用JavaScript调用手机平台上的原生API
  2. 简单粗暴,快速入门Python
  3. 大数据学习笔记54:HBase概述
  4. 二叉树中是否存在节点和为指定值的路径
  5. 面试题:之字形顺序打印二叉树
  6. 算法上均匀分布的随机抽奖,如何避免现实的现场抽奖的中奖号码有时出现集中扎堆的现象?
  7. Xftp6+Xshell6+XmanagerPowerSuite安装教程
  8. 软件测试常问面试题,你真的会搭建测试环境吗?
  9. 《C++程序设计上机实践及学习辅导》实验报告
  10. JAVA好管家,一天一个shell命令 linux好管家-进程-ps命令详解
  11. 基于51单片机的超声波测距仪
  12. 完全用计算机制作的三维动画,一种用一台个人电脑制作高质量三维机械仿真动画的方法...
  13. 【评测】常规PCR(终点法,跑胶)的多重PCR的试剂
  14. 依赖注入框架Dagger2详解(一),依赖注入和控制反转的深入理解
  15. 著名面试题: 如何实现数组去重? 假设有数组 array = [1,5,2,3,4,2,3,1,3,4] 你要写一个函数 unique,使得 unique(array) 的值为 [1,5,2,3,4]
  16. github国内加速器
  17. 初中计算机竞赛面试题目及答案,2019上半年初中信息技术教师资格面试真题及答案(第二批)...
  18. 2019最好用的谷歌扩展工具
  19. 入职3个月的Java程序员面临转正,领导:1年工作经验包装成5年,试用期淘汰!
  20. 哪些主板支持三代服务器内存,支持三代内存的主板CPU有哪些

热门文章

  1. ElasticSearch讲解
  2. [3G/4G]3G/4G模块开发
  3. [批处理]NetstatFilter快速查找端口被占用问题
  4. 使用Lucene检索文档中的关键字
  5. 《设计模式详解》行为型模式 - 中介者模式
  6. 基于springboot+thymeleaf+mybatis的员工管理系统 —— 登录与注册
  7. 初探C语言指针之何为指针变量
  8. 小程序入门学习15---数据库实战01
  9. 那年学过的Java笔记一SE基础
  10. Windows域策略设置 禁止客户端修改IP地址【全域策略生效】