Skip to main content

TCP 启动对外服

介绍

将 WebSocket 改为 TCP 的连接方式是简单的,只需将连接方式设置为 ExternalJoinEnum.TCP 就可以了。

@UtilityClass
public class MyExternalServer {
...
public ExternalServerBuilder builder(int port, ExternalJoinEnum joinEnum) {
var builder = ExternalMapper.builder(port);
builder.setJoinEnum(joinEnum);

return builder;
}
}

class OneApplication {
static void main() {
var externalServer = MyExternalServer.builder(
ExternalGlobalConfig.externalPort
, ExternalJoinEnum.TCP
).build();

new RunOne()
...
.setExternalServer(externalServer)
.startup();
}
}

模拟客户端测试

如果服务器是 TCP,那么模拟客户端也需要设置成 TCP。

class OneClient {
static void main() {
new ClientRunOne()
...
.setJoinEnum(ExternalJoinEnum.TCP)
.startup();
}
}

TCP 编解码

tip

TCP 编解码在头多加了 4 个字节,表示消息体的大小。

+--------+----------------+
| int | Actual Content |
| 0x000? | ExternalMessage|
+--------+----------------+