如何使用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的接口来开发这些网络同步的应用程序。

相关文章
|
3天前
|
人工智能 数据可视化 API
阿里云百炼API模型平台:免费Tokens领取、控制台入口、模型定价、Token Plan及接入指南FAQ
阿里云百炼是面向企业与开发者的AI模型服务平台,集成通义千问及DeepSeek、Kimi等主流第三方模型,提供模型调用、应用构建、知识库、模型定制等全链路能力;新用户免费领超7000万Tokens。
191 0
|
2天前
|
开发工具 数据安全/隐私保护 C++
如何使用Bark Sync Engine SDK开发通过网络通信进行显示同步与数据同步的应用程序(一)
Bark Sync Engine SDK主要被用来开发通过网络通信进行同步的应用程序,由它开发的应用程序在运行过程中能够通过网络通信始终保持显示同步和数据同步。
|
1天前
|
人工智能 文字识别 安全
Jev火了之后,AI质检开始只输出概率:这种模型到底该怎么测?
本文剖析AI决策模型(如Jev、Liquid AI d1)“高置信误判”根源,指出仅看准确率的陷阱。聚焦质检场景,提出覆盖数据构建、动态阈值设定、概率校准、分布漂移监测及CI门禁的完整测试方法,强调以业务损失定阈值、用可回放Trace定位问题、严控高置信错误,助力测试工程师安全落地AI决策。
Jev火了之后,AI质检开始只输出概率:这种模型到底该怎么测?
|
1天前
|
人工智能 Rust JavaScript
制度可信与数学可信之间,差一个 128 字节
Agent 时代的新问题是:陌生 Agent 替你做完事,能拿出什么证据?本文对比国内外主流平台的信任能力——身份认证有、授权控制有,可移交、可独立验证的证据没有——并给出一个开源的最小可行形态:RTTP 意图寻址(已获 IANA CRI 27)+ 128 字节 IQA 证明信封 + fail-closed 全帧验证,三语言实现可直接接入任何 MCP 栈,发布物逐件密码学密封自证。
56 0
制度可信与数学可信之间,差一个 128 字节
|
1天前
|
API
百炼假期上新实测:qwen-image-2.1-pro 的透明能力,我们跑了 35 次
国庆期间,百炼上线Qwen-Image-2.1-pro API模型(0.25元/张),免27GB显存门槛。实测确认:透明通道仅可“继承”不可稳定“生成”,编辑透明图可稳定保持,白底图无法抠透明;支持10图合成与精准圈选编辑。推荐用于透明素材加工与批量拼图。(239字)
百炼假期上新实测:qwen-image-2.1-pro 的透明能力,我们跑了 35 次
|
4天前
|
人工智能 Rust 文字识别
炸裂!Word、PPT、Excel、PDF终于不再各说各话:5.5k Star anydoc 一锅端成干净 Markdown
firecrawl/anydoc 是一个基于 Rust 的开源文档转换库,把 Word、PowerPoint、Excel、PDF、EPUB、CSV 等格式统一转换成 GitHub-Flavored Markdown,并提供 CLI、Rust、Node.js、Python、浏览器 WASM 和 Agent Skill 入口。
|
22小时前
|
监控 自动驾驶 算法
RDD2022道路损伤检测数据集 | 3600张YOLO智慧交通数据集
RDD2022道路损伤检测数据集含3600张YOLO格式标注图像,覆盖纵向/横向裂缝、龟裂、坑洞、修补痕迹5类病害,遵循养护规范(D00/D10/D20/D40),适配YOLOv5-v12等模型,支持智慧交通、自动巡检与自动驾驶路况感知研究。(239字)
|
1天前
|
存储 弹性计算 Linux
一文读懂阿里云服务器收费标准:包年包月 / 按量付费价格表,计费项解析及选型建议
阿里云ECS云服务器 是线上业务、网站、测试项目最常用的算力资源,很多用户在选购时容易混淆包年包月、按量付费两种计费模式,分不清实例、云盘、公网带宽分别如何扣费。本文结合最新定价规则,拆解两种主流计费方式的价格逻辑、适用场景,同时提供CLI命令,方便开发者直接查询实时价格、管理实例。 阿里云ECS云服务器 整体费用并不是只有CPU和内存的实例费用,完整计费由多部分组成,包含实例(vCPU+内存)、系统盘/数据盘、公网带宽,部分付费镜像还会产生许可证费用。不同计费模式下,资源的计价粒度、折扣力度、退款规则完全不同,也是价格差异的核心来源。
28 0
|
1天前
|
人工智能 安全 测试技术
Playwright MCP项目怎么做,才不像又一个自动化Demo?
本项目基于Playwright MCP可访问性快照,构建本地商城Browser Agent,聚焦页面变化鲁棒性、隐藏指令防御与权限边界管控。通过结构化快照替代坐标依赖,结合行为断言(非截图)验证工具调用、域名访问与副作用,覆盖6类异常场景,支持安全回归测试。
|
1天前
|
人工智能 缓存 JavaScript
浏览器控件实战:淘宝天猫多店铺商品自动化上架搭建全教程
本文详解零代码电商RPA上架系统搭建:覆盖业务拆解、AI生成脚本、Web元素捕获与自愈、子流程复用、指纹浏览器批量对接、EXE加密打包、API/定时触发及全离线内网部署,适配淘宝/天猫多店铺,个人与中小团队可直接落地。

热门文章

最新文章