1. 关于UCI协议

    January 16th, 2014

    Universal Chess Interface (UCI) The UCI protocol (UCI = universal chess interface) describes the communication of a chess engine and a chess user interface. The protocol is open and can be used by everyone without license fees. Today almost all modern chess programs support UCI so that you can exchange the chess engine and chess user interface with different programs. UCI makes it possible to plug in every UCI chess engine into every UCI capable chess user interface.

    UCI协议,全称是国际象棋通用引擎协议(Universal Chess Interface,直译作通用象棋接口)。它 是开放的象棋引擎协议,所谓“开放的”引擎协议,指的是: (1) 协议内容是公开的,并且可以免费使用; (2) 你可以根据该协议自己编写象棋引擎,凡是支持该协议的界面,都可以使用你编写的引擎; (3) 你可以根据该协议自己编写象棋界面,凡是支持该协议的引擎,都可以被你编写的界面调用I协议问世了。
    UCI协议的前身是象棋引擎SOS和Shredder使用的引擎协议,在他们的作者Rudolf Huber和Stefan Meyer-Kahlen对该协议的改进下,2000年11月28日UCI协议问世了。

  2. UCI实现

    February 28th, 2014

    UCI协议具有以下特点:
    (1) 引擎程序是可执行文件,它同界面程序之间通过“标准输入”和“标准输出”(即C语言中的stdin和stdout)来通讯。
    (2) 输入和输出是以“行方式”来完成的,界面发给引擎的每条指令都必须以“回车”(即C语言中的'\n')结束,界面接收引擎的反馈也一样。
    注:引擎不能跨平台使用,如果引擎从一个平台(如Windows)移植到另一平台(如Unix),需要重新编译源代码,或使用跨平台接口。
    引擎的平台通常由三类:
    A. DOS平台,但是由于DOS平台过于陈旧,现在很难找到这样的引擎;
    B. Windows平台,需要在Windows下用Console方式编译引擎源代码,WinBoard只能使用这类引擎;
    C. Unix/Linux平台;需要在Unix或Linux下编译源代码(也用Console方式),XBoard能够使用Linux的引擎。

  3. UCI-HUB

    March 11th, 2024

    uci协议由于基于管道实现,所以引擎端和图形端只能在同一台电脑上运行,这样就带来应用上的诸多不便。
    UCI-HUB就是将引擎输入输出通过socket协议包装,这样图形端可以通过socket连接引擎。从而不再需要局限再同一台电脑上。由于网络socket协议本身就有跨平台性,这样uci-hub就打破了windows、unix及其他系统相互之间的UCI通信鸿沟

    简要流程就是:UCI引擎<---管道---->UCIHUB<---Socket--->图形客户端
    或者简单理解:如果管道是有线路由,那UCIHUB就是UCI引擎的无线路由器

  4. HUB分类

    March 12th, 2024

    UCI-HUB本身结构非常简单,但需要考虑各种协议以及用户使用模式
    按用户模式可分类为:单用户模式/多可靠用户模式/多用户模式
    按协议方式可细分为:TCP UDP WSS HTTP
    按使用平台可分化为:Windows MacOS Linux Anroid IOS
    按引擎数量还可分为:单引擎/多引擎/混合引擎

  5. 示例app

    May 20th, 2014

    微信小程序-象棋残局推手【审核中】
    后端引擎-运行UCIHUB程序【通过管道链接UCI引擎】
    前端通信-利用wss协议连接UCIHUB服务程序

  6. Event title here

    August 30th, 2014

京ICP备2024055677号-1