旧版客户端设置
HandyCafe 可以与旧版 V3 和 V4 客户端安装一起运行,而不会造成干扰。旧版客户端的设置页面控制运行时协议:网络监听器允许 V3 和 V4 客户端通过其原始端口连接到此服务器。
从较旧的安装中导入数据是在其自己的设置页面上的单独任务。查看数据迁移。这两个功能是独立的。运行时支持可以在不迁移任何数据的情况下工作。迁移可以在没有运行时支持的情况下完成。你也可以同时使用这两个功能。
运行时协议区域
启用旧版客户端支持
该区域顶部有一个总开关。开启后,服务端会启动三个网络侦听器:
- 绑定到已配置组播地址的 UDP 侦听器。
- 位于
UDP port + 2的 TCP 命令侦听器。 - 位于
UDP port + 7的 TCP 文件传输侦听器。
关闭该开关会一次性停止这三个侦听器。您可以在禁用状态下调整端口号或编码,然后重新启用以应用更改。
配置字段
| 字段 | 默认值 | 说明 |
|---|---|---|
| 认证密钥 | HANDYCAFE | 共享的 10 字符密钥。每个入站和出站帧都会携带这个字符串。不匹配的帧会被丢弃。所有旧版客户端都必须使用相同的密钥。 |
| UDP 组播 IP | 230.4.4.46 | 用于客户端发现广播和基于 UDP 的命令下发的组播组。大多数旧版客户端构建中都是硬编码的。 |
| 服务端 UDP 端口 | 710 | 服务端接收客户端广播和命令的 UDP 端口。旧版客户端会把数据发送到这个端口。 |
| 客户端 UDP 端口 | 711 | 旧版客户端监听的 UDP 端口。服务端会向已发现的客户端 IP 发送单播管理命令到这个端口。 |
| 编码 | cp1254 | 线缆格式字符串字段的字符编码。土耳其安装请使用 cp1254,西欧安装请使用 cp1252。未知值会回退到 cp1254,并在服务端日志中写入警告。 |
| 服务端版本 | 3.4.01 | 每个 UDP 广播中都会发送的版本字符串。有些旧版客户端会拒绝它们无法识别的版本帧。请将其设置为与您原始服务端版本一致。 |
| 协议变体 | STE | 线缆格式选择。见下方的变体对比。 |
| 不活跃超时 | 10 | 秒。按 MAC 地址计算的看门狗。如果在此时间窗口内没有收到客户端流量,就会将该客户端标记为离线。对于每 2 到 3 秒广播一次的旧版客户端,10 秒是合适的。 |
派生端口
表单下方会显示一行只读内容,列出派生出来的 TCP 端口:
TCP 命令端口: 712 文件传输端口: 717
这些端口是根据 UDP 服务端端口计算出来的,无需单独配置。如果您把服务端 UDP 端口改成其他值,派生端口也会随之变化。
协议变体
协议变体字段用于选择服务端使用的线缆格式。请选择与您旧版服务端构建方式相匹配的变体。
| 变体 | 适用场景 |
|---|---|
| STE(Smart/Turbo Edition) | 现代旧版代码库。会在帧结构前添加 70 字节的 license-info 前缀。帧大小为 1337 字节。如果您的旧版安装使用的是 Smart 或 Turbo 版本,请选择它。 |
| Standard | 朴素的基础旧版构建。没有 license-info 前缀,帧大小为 1267 字节。只有在您的旧版安装是没有注册许可的 Standard 版本时才选择它。 |
选错变体会导致帧被丢弃或误读。常见症状是客户端看起来在线,但会忽略每一条命令,或者命令数据因 70 字节偏移而错位。
与现代客户端共存
旧版端口(710、711、712、717)与现代 HandyCafe 协议端口(TCP 5001、5002、5003,UDP 5004)完全分离,不会冲突。您可以在同一局域网中混合使用新旧客户端,并在同一个管理面板中统一管理。
应用更改
运行时协议区域中的每个字段都会在页面底部的全局“保存”按钮点击后保存。保存时,服务端会:
- 如果旧版侦听器正在运行,则先停止它们。
- 验证认证密钥(不能为空)。
- 根据更新后的字段构建新的侦听器配置。
- 并发重启侦听器。
- 当三个侦听器全部恢复在线后发送通知。
如果某个端口已被其他进程占用,服务端会报告错误,并将开关切回关闭状态。请使用 netstat 检查防火墙和其他服务,并选择一个空闲端口范围。
数据库迁移
从 HandyCafe 3.x 或 4.x 安装导入数据不再在此页面上进行。这已移至 数据迁移 设置页面下的 HandyCafe Legacy 来源,与 EveryCafe 和 Pancafe 的导入功能一起。
该页面涵盖旧版安装的检测、导入内容、源文件的只读保证、重新运行导入及撤销操作。有关逐步演练,请参阅 如何从旧版安装迁移。
提示
- 在执行迁移前先停止旧版服务端。如果旧系统仍在向数据库写入,导入可能会看到过期或不完整的数据。
- 在第一次迁移前,请把编码字段设成与旧版地区相匹配的值。导入完成后再改编码,无法修复已经损坏的名称。
- 一定要先做一次测试迁移。在提交给员工使用新系统之前,先检查“上次计数”下的记录数,并抽查几条会员和交易记录。
- 在过渡期内启用运行时支持并保持旧版客户端在线。这样您可以在退役旧服务端之前先确认新服务端对它们的服务行为完全一致。
- 如果您更改了服务端 UDP 端口,请记得派生出来的命令和文件传输端口也会一起变化,防火墙规则需要同步更新。