Start External Server with TCP
Introduction
Switching connection from WebSocket to TCP is simple. Just set connection method to 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();
}
}
Simulated Client Test
If server uses TCP, simulated client should also be set to TCP.
class OneClient {
static void main() {
new ClientRunOne()
...
.setJoinEnum(ExternalJoinEnum.TCP)
.startup();
}
}
TCP Codec
tip
TCP codec prepends 4 bytes indicating message-body size.
+--------+----------------+
| int | Actual Content |
| 0x000? | ExternalMessage|
+--------+----------------+