如何使用Bark Sync Engine SDK开发通过网络通信进行显示同步与数据同步的应用程序(一)

简介: Bark Sync Engine SDK,本文将详细讲解如何调用该SDK,来实现网络应用程序间的显示同步和数据同步。

@TOC


前言

Bark Sync Engine SDK主要被用来开发通过网络通信进行同步的应用程序,由它开发的应用程序在运行过程中能够通过网络通信始终保持显示同步和数据同步。下面将分章节描述如何使用该SDK来开发网络同步的应用程序。


一、SDK的下载和安装

首先我们将了解下如何配置和运行该SDK的例程,从官网下载该SDK,下载地址:https://www.bark123.com/download。
下载完成后按照步骤进行安装:
安装界面
安装完成后目录如下:
SDK目录
其中Bin文件夹用于存放例程的可执行文件,Config文件夹用于存放例程的配置文件,Example文件夹用于存放例程的工程文件和源代码,Include文件夹用于存放SDK头文件,Lib文件夹用于存放SDK库文件,Resources文件夹用于存放例程用到的一些资源文件,Temp文件夹是暂存文件夹,Tool文件夹里有一些SDK内置的工具。
例程目录
SDK一共有两个例程,一个是HelloWorld,另外一个是BarkTank,例程都是用C/C++语言编写的。HelloWorld例程包含两个项目:同步服务端程序HelloWorldServer和客户端程序HelloWorld;BarkTank例程包含4个项目:同步服务端程序BarkTankServer、登录服务端程序BarkTankLoginServer、控制服务端程序BarkTankControlServer和客户端程序BarkTank。下面分别讲解下它们如何配置和运行。

二、HelloWorld例程运行前的一些配置

在运行前选择一台机器作为你的服务端机器,一台或多台机器作为你的客户端机器,服务端机器和所有客户端机器都要安装SDK。如果身边只有一台机器的话,也可以,这时就要选择本地地址127.0.0.1了,下面会有讲述。

1.服务端配置

服务端机器在SDK所在目录的\Config\HelloWorld文件夹下,打开HelloWorld例程的配置文件server.ini,并修改内容如下:
服务端配置文件
把SyncServer字段的内容设置为你的服务端机器ip地址(这里我的服务端机器ip地址是192.168.1.10),如果服务端和客户端都是同一台机器,需要把SyncServer字段设置为本地地址127.0.0.1。

2.客户端配置

同样,所有客户端机器也要在SDK所在目录的\Config\HelloWorld文件夹下,打开HelloWorld例程的配置文件server.ini,把SyncServer字段的内容设置为你的服务端机器ip地址,如果服务端和客户端都是同一台机器,需要把SyncServer字段设置为本地地址127.0.0.1。

三、HelloWorld例程的运行

HelloWorld例程的运行过程如下:

1.运行同步服务端程序

首先,在服务端机器编译并运行HelloWorld例程的同步服务端程序HelloWorldServer,运行结果如下图:
HelloWorldServer运行窗口

2.运行客户端程序

然后,在客户端机器编译并运行HelloWorld例程的客户端程序HelloWorld。运行结果如下图:
HelloWorld运行窗口
在这个例程中,可以通过移动三个分别表示R,G,B颜色分量的滑块来改变字体的颜色值,当你打开了多个客户端时,你会发现当前客户端中操作的颜色变化会在所有客户端中同步显示出来,实际上所有客户端之间的数据也是同步的。
客户端1显示画面
客户端2显示画面

四、BarkTank例程运行前的一些配置

BarkTank例程的运行需要3个服务端程序:同步服务端程序SyncServer、登录服务端程序LoginServer和控制服务端程序ControlServer,这就意味着它最多需要3台机器来分别运行这3个服务端程序,这里为了部署简单我们把这3个服务端程序都部署在同一台服务端机器上。然后同样要一台或多台机器作为你的客户端机器。如果身边只有一台机器的话,也可以仍然选择本地地址127.0.0.1,下面会有讲述。

1.服务端配置

服务端机器在SDK所在目录的\Config\ BarkTank文件夹下,打开BarkTank例程的配置文件server.ini,并修改内容如下:
服务端配置文件
因为我们的同步服务端程序SyncServer、登录服务端程序LoginServer和控制服务端程序ControlServer都在同一台服务端机器上,所以这里我们把LoginServer、ControlServer和SyncServer字段的内容都设置为你的服务端机器ip地址(这里我的服务端机器ip地址是192.168.1.10),如果服务端和客户端是同一台机器的话,需要把LoginServer、ControlServer和SyncServer字段的内容都设置为本地地址127.0.0.1。

2.客户端配置

同样,所有客户端机器也要在SDK所在目录的\Config\BarkTank文件夹下,打开BarkTank例程的配置文件server.ini,把LoginServer、ControlServer和SyncServer字段的内容都设置为你的服务端机器ip地址,如果服务端和客户端是同一台机器的话,需要把LoginServer、ControlServer和SyncServer字段的内容都设置为本地地址127.0.0.1。

五、BarkTank例程的运行

BarkTank例程的运行过程如下:

1.运行同步服务端程序

首先,在服务端机器编译并运行BarkTank例程的同步服务端程序BarkTankServer,运行结果如下图:
BarkTankServer运行窗口

2.运行登录服务端程序

然后,在服务端机器编译并运行BarkTank例程的登录服务端程序BarkTankLoginServer,运行结果如下图:
BarkTankLoginServer运行窗口

3.运行控制服务端程序

然后,在服务端机器编译并运行BarkTank例程的控制服务端程序BarkTankControlServer,运行结果如下图:
BarkTankControlServer运行窗口

4.运行客户端程序

然后,在客户端机器编译并运行BarkTank例程的客户端程序BarkTank。运行结果如下图:
BarkTank运行窗口1
这是一个联网的坦克大战游戏程序,因为我们是第一次运行程序,需要注册新用户,点Register按钮进行注册。如下图:
客户端1注册
客户端1注册成功
注册成功后,输入注册的用户名和密码,点击Login按钮进行登录,效果如下图:
BarkTank运行窗口2
BarkTank运行窗口3
登录完成后,点击Create按钮创建房间,输入房间名称,然后点击OK,效果如下图:
创建房间
BarkTank运行窗口4
这时一个游戏玩家就已经准备就绪了,但是联网游戏需要多个游戏玩家登录,所以必须再启动一个客户端,依然是点击Register按钮注册用户,如下图:
客户端2注册
客户端2注册成功
注册成功后,依然是输入注册的用户名和密码,点击Login按钮进行登录,效果如下图:
BarkTank运行窗口5
BarkTank运行窗口6
点击Quick Start按钮直接开始游戏,效果如下图:
BarkTank运行窗口7
点击Ready表示准备好开始游戏了,效果如下图:
BarkTank运行窗口8
这时第一个创建房间的客户端就可以开始游戏了,点击Start开始游戏,效果如下图:
BarkTank运行窗口9
BarkTank游戏窗口
游戏按方向键移动,按Ctrl键开火,按Space键切换子弹,在游戏过程中我们可以看到所有客户端每一帧的渲染都是同步的,实际上所有客户端的数据也是完全同步的。
客户端1显示画面
客户端2显示画面

总结

本章节只是简单介绍了SDK例程的配置和运行,下面的章节将深入例程的代码,来讲解如何调用Bark Sync Engine SDK的接口来开发这些网络同步的应用程序。

相关文章
|
18天前
|
人工智能 JSON API
全网刷屏的 Jev 模型正式开放!一手实战测评 + 保姆级教程
全网爆火的 Jev 模型是什么?有什么用?怎么使用?怎么接入 AI 编程工具?效果真的好么?傻子可懂的 Jev 保姆级实战教程 + 项目实战测评来啦
8625 25
|
17天前
|
人工智能 并行计算 PyTorch
秋叶 ComfyUI 2026 整合包 v3.2 完整部署教程:Python 3.13 + Torch 2.13 全栈升级
秋叶aaaki ComfyUI 2026年8月整合包v3.2正式发布!全面升级Python 3.13.11、PyTorch 2.13.0+cu130及ComfyUI v0.30.2,原生支持MiniMax H3、Wan 2.2、Qwen-Image-2.1等2026主流音视频/图像模型,解压即用,无需环境配置。
3072 14
|
16天前
|
人工智能 测试技术 API
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
Jev是TypeSafe AI推出的“系统一模型”,不生成文本,专做毫秒级结构化决策:Choice(多选)、Score(打分)、Noul(是非概率)。响应快193倍、成本低444倍,适合工单路由、内容审核、测试定级等高频判断场景。
2115 4
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
|
5天前
|
人工智能 JSON Linux
【全网最详细】ComfyUI使用教程:下载+本地部署+配置+工作流搭建一篇搞定(2026最新版)
ComfyUI是一款免费开源的本地AI绘图工具,采用节点式工作流设计,支持文生图、图生图、局部重绘、放大、换脸等多种功能。可离线运行,依赖显卡加速,无需联网。支持自定义流程保存与分享,插件生态丰富,适合进阶用户。(239字)
|
17天前
|
云安全 人工智能 安全
|
11天前
|
人工智能 Linux 开发者
【2026国内使用】Codex安装过程一篇讲透(Win/Mac/Linux全支持)
Codex是OpenAI推出的AI编程智能体,可读取本地项目、理解需求并自动修改代码。支持桌面GUI、命令行(CLI)及VS Code/Cursor插件三种形态,覆盖可视化操作、终端高效开发与编辑器无缝集成场景,助开发者用自然语言驱动编码全流程。(239字)
【2026国内使用】Codex安装过程一篇讲透(Win/Mac/Linux全支持)
|
11天前
|
人工智能 JSON 编解码
【2026最新版】ComfyUI本地部署教程,新手也能看懂!
ComfyUI是本地运行的AI绘画工具,采用节点式工作流设计:通过拖拽连接“加载模型”“提示词编码”“采样”“解码”等模块,实现高度可控的文生图。新手推荐使用秋叶整合包,一键启动、内置模型管理与插件安装器,轻松上手。(239字)