TCP Server
Last updated
Last updated
The TCP Server is one of the three real-time communication servers provided by Diarkis, allowing the implementation of custom commands for applications.
A command is a formatted packet that is sent from the client and processed by the server. This is how the Diarkis server cluster interacts with the client.
To expose built-in commands to clients, you can set them up using the diarkisexec
package.
You can expose built-in commands for each module by using diarkisexec.SetupDiarkis()
. Customize the settings by specifying the ConfigPath
for each module.
You can expose custom commands using diarkisexec.SetServerCommandHandler()
.
You can set up a UDP Server with diarkisexec.SetupDiarkisUDPServer()
. Customize server settings with the JSON file provided as an argument.
Note that these functions should be executed before calling
diarkisexec.StartDiarkis()
.
For more details, please refer to the API Reference for diarkisexec.
Specify the path to the JSON file in the meshConfigPath. For more details, refer to #mesh-she-ding.
The configuration is described in JSON format.
connectionTTL
10
The TTL for the connection. Clients will be disconnected from the server after this time is exceeded.
address
"127.0.0.1"
The address for the UDP server to bind to.
nic
"eth0"
The interface name for obtaining the address. Used when the address is unspecified.
port
"7100"
The port for the UDP server to bind. The UDP server automatically finds an available port starting from the specified port.
maxRcvSize
8000
The maximum TCP packet size (bytes) for each request packet.
noDelay
false
Set to true to disable the Nagle algorithm (no buffering before writing).
enableEncryption
true
Set to false to disable packet encryption and decryption. HTTP server should also have similar settings.
For more details, please refer to the API Reference for the server.
In a cloud environment, the address should be a private IP address, and you should use the DIARKIS_CLOUD_ENV
environment variable.