社区
Framework
帖子详情
java服务从thrift返回一个i64的long类型,但是php这边得到的有问题
niezuxue
2016-03-01 08:04:21
奇怪的是有一些数字返回值是正确的,有一些是错误的
从java那边返回6098711893080276992, php得到的是6098711890932793344
但是比如java返回6098768005460656128,php得到的就是一样的。
...全文
591
2
打赏
收藏
java服务从thrift返回一个i64的long类型,但是php这边得到的有问题
奇怪的是有一些数字返回值是正确的,有一些是错误的 从java那边返回6098711893080276992, php得到的是6098711890932793344 但是比如java返回6098768005460656128,php得到的就是一样的。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
niezuxue
2016-03-02
打赏
举报
回复
用的就是php7 windows和ubuntu都是一样的结果
xuzuning
2016-03-02
打赏
举报
回复
php 的整数是 int32,并做了适当的扩容 直到 php7 才开始支持 int64
thrift
初步了解
简介:
thrift
是跨语言,server和client通信的
一个
框架,支持多种协议,二进制,文本http,json等方式,提供高效的数据传输方式。
thrift
只负责对数据进行处理,然后在网络内进行传输的工作。不要认为
thrift
能在*.
thrift
文件中定义调度之类的工作
thrift
通过IDL(接口描述语言)来生成各种语言需要的接口代码。 执行
thrift
文件命令:
java
:
thrift
-0.9.1.exe --gen
java
test.
thrift
java
:
thrift
-0.9.1.exe --gen
php
test.
thrift
生成使用
thrift
需要的jar包: 下载Ant后, 配置环境变量, ANT_HOME=Ant解压路径。 下载
thrift
后使用ant编译需要的jar文件。<< cmd, 进入build.xml目录, ant -buildfile build.xml
thrift
协议protocol: TBinaryProtocol:二进制格式 TCompactProtocol:高效压缩的二进制格式 TDenseProtocol:与TCompactProtocol相比,meta信息略有不同 TJSONProtocol JSON TDebugProtocol text 格式 方便调试
thrift
传输层transport: TSocket 阻塞的io TFramedTransport 非阻塞io TFileTransport 可以将一组
thrift
请求写到文件中 TMemoryTransport 使用内存 I/O TZlibTransport 使用zlib压缩 支持的server TSimpleServer 单线程 阻塞 TThreadPoolServer 多线程 阻塞 TNonblockingServer 多线程 非阻塞 THsHaServer api说是TNonblockingServer的扩展,半同步半异步 可定义的数据
类型
: 基本
类型
: bool:布尔值,true 或 false,对应
Java
的 boolean byte:8 位有符号整数,对应
Java
的 byte i16:16 位有符号整数,对应
Java
的 short i32:32 位有符号整数,对应
Java
的 int
i64
:64 位有符号整数,对应
Java
的
long
double:64 位浮点数,对应
Java
的 double string:未知编码文本或二进制字符串,对应
Java
的 String 结构体
类型
: struct:定义公共的对象,类似于 C 语言中的结构体定义,在
Java
中是
一个
Java
Bean 容器
类型
: list:对应
Java
的 ArrayList set:对应
Java
的 HashSet map:对应
Java
的 HashMap 异常
类型
: exception:对应
Java
的 Exception
服务
类型
: service:对应
服务
的类
基于HBase
Thrift
接口的一些使用
问题
及相关注意事项的详解
HBase对于非
Java
语言提供了
Thrift
接口支持,这里结合对HBase
Thrift
接口(HBase版本为0.92.1)的使用经验,总结其中遇到的一些
问题
及其相关注意事项。1. 字节的存放顺序HBase中,由于row(row key和column family、column qualifier、time stamp)是按照字典序进行排序的,因此,对于short、int、
long
等
类型
的数据,通过Bytes.toBytes(…)转换成byte数组后,必须按照大端模式(高字节在低地址,低字节在高地址)存放。对于value,也是同样的道理。因此,在使用
Thrift
API(C++、
Php
、Py
Thrift
介绍以及
Java
中使用
Thrift
实现RPC示例
场景
Thrift
Thrift
最初由Facebook研发,主要用于各个
服务
之间的RPC通信,支持跨语言,常用的语言比如C++,
Java
, Python,
PHP
, Ruby, Erlang,Perl,Haskell, C#, Cocoa,
Java
Script, Node.js, Smalltalk, and OCaml都支持。
Thrift
是
一个
典型的CS(客户端/
服务
端)结构,客户端和
服务
端可以使用不同的语言开发。既然客户端和
服务
端能使用不同的语言开发,那么一定就要有一种中间语言来关联客户端和服
thrift
java
实例_精选实例:
Thrift
实例教程(
Java
)
一、 About
Thrift
thrift
是一种可伸缩的跨语言
服务
的发展软件框架。它结合了功能强大的软件堆栈的代码生成引擎,以建设
服务
,工作效率和无缝地与 C + +,C#,
Java
,Python,
PHP
和 Ruby 结合。
thrift
是 facebook 开发的,我们现在把它作为开源软件使用。
thrift
允许你定义
一个
简单的定义文件中的数据
类型
和
服务
接口。以作为输入文件,编译器生成代码用...
Thrift
入门及
Java
实例演示
目录: 概述下载配置 基本概念 数据
类型
服务
端编码基本步骤 客户端编码基本步骤 数据传输协议 实例演示(
java
)
thrift
生成代码实现接口IfaceTSimpleServer
服务
模型TThreadPoolServer
服务
模型TNonblockingServer
服务
模型THsHaServer
服务
模型异步客户端 [一]、概述
Thrift
是
一个
软件框
Framework
4,251
社区成员
4,523
社区内容
发帖
与我相关
我的任务
Framework
国内外优秀PHP框架讨论学习
复制链接
扫一扫
分享
社区描述
国内外优秀PHP框架讨论学习
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章