可以指定thrift的监听端口吗

 我来答
huanglenzhi
2016-01-03 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517184
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
使用thrift需要先定义接口文件,在thrift里简称叫IDL,全称叫Interface Description Language,接口描述语言。接口描述语言里面需要定义接口中所使用的数据类型,方法等等。
数据类型包括
基本类型:
bool: 布尔类型(true或者false)
byte: 有符号8位整型
i16: 有符号16位整型
i32: 有符号32位整型
i64: 有符号64位整型
double: 64位浮点数
string: UTF8编码的字符串

特殊类型:
binary: 未编码的二进制字节流
struct:结构体类型

container:
list:列表,可以理解为数组,其中的元素可以是任意类型的。

exceptions:
用来抛出你自己定义的异常情况

service:
这个是我觉得最重要的定义,有些地方说是虚函数,我觉得理解成你程序中所使用的方法更容易明白一些。他需要你定义返回类型,这有点类似于C或者java的函数定义。但你要明白,这个返回是给socket的。如果你定义错了,将不仅仅是你得不到返回值这么简单的事情。而是程序会报错

我们来尝试写第一个thrift文件
test.thrift
service test
{
string GetSysVer()
#一个获取系统版本的方法,返回给socket一个字符串

string FileTransfer(1:string filename, 2:binary content )
#传送文件的方法,入口参数为string类型的文件名和二进制流类型的文件内容,方法将给socket一个字符串类型的返回值,如果你需要传送结构体,可以在Service外面定义struct File{1:string filename,2:binary content,3:i64:filelen...}等等,然后用list类型赋值给入口参数,例如string FileTransfer(1:list<File> transfer)

bool FileExists(1:string filename)
#检查server端指定文件是否存在,返回布尔
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式