zoukankan      html  css  js  c++  java
  • Firefly通讯协议-

    Firefly通信协议

    一、Protocol Buffers简介

    《烽烟OL》的通信协议采用的是Google 的Protocol Buffers,Protocol Buffers(以下简称PB)是一种用于序列化结构化数据的机制,可用于用于分布式应用之间的数据通信或者异构环境下的数据交换。它具有灵活、高效、自动化的特点,类似于XML,但是比XML更小巧、快捷、简单。在Google 几乎所有它内部的RPC协议和文件格式都是采用PB。

    PB具有以下特点:

    1)平台无关、语言无关

    2)高性能 比XML块20-100倍

    3)体积小 比XML小3-10倍

    4)使用简单

    5)兼容性好

    当然,PB也有缺点,与XML相比,PB的缺点是不易读。众所周知,XML是一种自描述语言,一看就可知道其作用,见文知意。而PB序列化后是一串二进制代码,如果没有对应的协议格式(即.proto文件),想要读懂它难如登天。

    二、Protocol Buffers安装
    1)下载Google Protocol Buffer源码包 
    下载可以到protobuf官网下载:http://code.google.com/p/protobuf/downloads/list,我下载的是Protocol Buffers 2.5.0 compiler。
    2)解压压缩包 
    解压压缩包后,会得到文件列表。
    3)编译vs工程 
    在解压后的文件夹中,打开vsprojects目录. 打开libprotobuf.vcproj(这个是vs的工程文件,打开前请确认安装了vs2005 或vs2008,vs2010等等),在打开工程中,   可能需要转换工程,直接转换就行了。
    右键分别生成libprotobuf,libprotobuf-lite,libprotoc,protoc这四个工程(编译模式为Release 模式)。
    4)编译完成 
    编译完成后,可以在vsprojectsRelease下发现3个lib和一个exe文件,他们分别是libprotobuf.lib,libprotobuf-lite.lib,libprotoc.lib和protoc.exe。
    5)拷贝文件到windows目录下: 将得到的libprotobuf.lib,libprotobuf-lite.lib,libprotoc.lib和protoc.exe拷贝到系统盘的windows目录下。如果你的系统安装在C盘,那么就拷贝到c:windows目录下 。
    6)编译proto文件,生成python文件 
    假设在E: est目录下有一个名为test.proto的proto文件,那么打开CMD,输入“protoc.exe -I=e: est --python_out=e: est e: est est.proto ”就可以生成python源码文件
    test_pb2.py,在需要用到的工程里import这个文件就可以直接用了。
    三、Firefly中使用Protocol Buffers实例
    下面是一个玩家接受任务的通讯实例,先上proto文件
    1)applyQuest.proto

    <ignore_js_op>


    message applyQuestRequest为客户端的请求
    message applyQuestResponse为服务器的回复
    用上面的编译方法将applyQuest.proto编译成python源码文件applyQuest_pb2.py
    2)quest.py文件,服务端处理这个请求的文件。

    <ignore_js_op>


    3)客户端也会有对应的proto文件,可以将服务器发回来的数据解析出来,得出此次交互的结果。
  • 相关阅读:
    Element ui 的使用
    Vue基本介绍
    静态界面传值javascript
    手机网页怎么禁止缩放、拖放、如何屏蔽到手机本身键盘
    jQuery学习之prop和attr的区别示例介绍
    jquery复选框 选中事件 及其判断是否被选中
    手机端html5触屏事件(touch事件)
    页面滚动到底部自动 Ajax 获取文章
    转Python RegEx正则
    转Python 日期
  • 原文地址:https://www.cnblogs.com/9miaoshetuan/p/3851285.html
Copyright © 2011-2022 走看看