先放上flatbuffer的github链接flatbuffer,里面可以直接下载针对模板文件生成代码exe程序和所有支持语言的库代码。
之前写的一套系统是http的,里面也用到了websocket,但是服务器都是放在国外的,国内的电信运营商对国外域名的支持很蛋疼,所以就用socket重新写了一套,针对这种复杂业务使用socket,就要自定义一套报文格式,所以这里使用了flatbuffer,但是flatbuffer在网上的资料很少,而且资料都比较浅显,所以才写这篇文章。
首先,线从github上下载exe文件和对应语言的库,或者从文章最下面下载我打包好的,分多的可以支持下~。ios比较特殊,官方没有给出库文件,后面我会单独写一篇文章。
首先将对应语言的库放到项目内,java需要将库的文件原封不动的放到项目内,包括包名也不能动,自己建一样的包路径放进去就可以,因为exe生成的类文件里面继承的库文件包名都是写死的,随便改可能会出问题而且麻烦。
下面开始创建模板文件,先新建文本文档,将名字改为demo.fbs,编辑打开,写入模板,下面是实例:
//包名
namespace com.demo;
//类名
table FbDemo {
//名字
name:string;
//年龄
age:int;
//钱
money:double;
times:[string];
test:[byte];
}
//写根类的名字
root_type FbDemo;
然后将fbs文件和exe文件放在同一目录下,执行下面命令,第一条是生成java的类