Fuego学习笔记---协议(2)

本文是Fuego协议的学习笔记,主要涵盖了协议中的字符集使用,包括ASCII码、控制字符(HT, CR, LF)、空白字符以及换行的表示。此外,详细介绍了命令格式[id] command_name [arguments]、响应格式=[id] result和出错格式?[id] error_message。还提到了时间同步、注释、空行处理以及棋盘坐标的表示方式。最后,讨论了私有扩展的格式XXX-YYYY用于特定engine的定制命令。" 112383003,10547078,Wireshark解密HTTPS流量指南,"['网络分析', '安全', 'Wireshark', 'HTTPS解密', '网络安全']
摘要由CSDN通过智能技术生成

              2.协议基本

     2.1字符集

         协议中的命令好响应是采用ASCII码,而注释和其他的私人扩展则不受ASCII的限制。

        

         2.2控制字符

         HT(Horizontal Tab, 水平制表符),即dec 9

         CR(Carriage Return, 回车), 即dec 13

         LF(Line Feed, 馈行),即dec 10

         貌似协议中说只有这3个控制符有意义,其他的都在input中被丢弃。

     

         2.3空白字符

         SPACE (dec 32) Space
         HT (dec 9) Horizontal Tab

 

         2.4 换行

         用LF表示换行

 

         2.5命令的格式

         [id] command_name [arguments]

         id是一个可选的唯一的数字(在一局中),即可以不用出现id。


         2.6响应的格式

         =[id] result

         =号表示成功,id对于某条命令的id, 每个result后面跟着2个换行符。

 

         2.7出错格式

         ?[id] error_message

         ?号表示出错了,error_message后面也跟2个换行符

 

         2.8时间

         对弈中controller和engine之间不需要同步,controller可以在任何时候发送命令,而engine也可以在任何时候返回响应,但是返回的响应要和命令到来的顺序一样(我觉得应该是按照命令的id,因为有可能先发的命令后到达,但是应该按先来的命令先响应)。

 

         2.9注释

         采用#进行注释

 

         2.10空行

         只有空行或空白的命令不需要响应。

 

         2.11棋盘坐标

         棋盘中的交点,在协议里面称顶点(vertice),是以一个字母和数字来表示,例如对于19X19的棋盘,从左到右的字母是从A~T(不包括I),从低到高是1~19。因为英文字符只有25个可以用,所以该协议不支持超过25的棋盘。

 

         2.12私有扩展

         它的格式是XXX-YYYY, XXX用来唯一标识一个engine, YYYY用来表示命令。Dash(-)破折号是用来表示这是个私有扩展。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值