I think a lot of things are being mixed up here… In particular, I don’t think this has anything to do with HTTP, @Tondose.
Anways, to explain what these TCP remote controls do:
TCP Server
Opens a TCP (telnet) server and waits for strings being sent to it, terminated with CR. The first command must be
AUTH <password>
with <password>
being the password you set in the config.
Once authenticated, all strings being sent will be injected as commands into the mAirList instance.
TCP Client
The same, but as a client. It connects to an existing TCP/telnet server and waits for commands being received.
If a password is configured, it will send AUTH <password>
as the first line when the connection is established. This makes it compatible with the TCP Server remote.
After that, all lines it receives from the server are injected as commands. If a “prefix” is configured, only lines starting with that prefix are being processed (and the prefix is removed). For example, if the prefix is STUDIO1
, the server must send STUDIO1 AUTOMATION 1 NEXT
to execute AUTOMATION 1 NEXT
. This way, you can build a simple TCP server to which many studios connect, and only process those commands meant for the particular studio.
If you don’t want to receive and process any commands, but only use the remote to send them (see below), you can turn on Dummy Mode, and nothing will be processed.
Now how do you send commands from a TCP Client to a TCP Server? With the help from a script:
begin
TCPClientRemote(0).WriteLine('AUTOMATION 1 NEXT');
end.
Note: The 0
here refers to the first TCP Client remote registered in your configuration (the index is zero-based).
You can also turn this into a background script that sends all command starting with e.g. NONSTOP
to the server via the remote:
procedure OnExecuteCommand(Command: string);
begin
if copy(command, 1, 8) = 'NONSTOP ' then
TCPClientRemote(0).WriteLine(copy(Command, 9, 255));
end;
Other ways to do it:
- Instead of using a TCP Client remote, you can send the raw data via
TCPSendString
:
TCPSendString('192.168.10.53', 9393, 'AUTH mysecretpassword' + #13 + 'AUTOMATION 1 NEXT' + #13);
-
Use REST server and ExecuteRESTCommand instead (requires at least Advanced Server on both server and client side, because you need the REST module).
-
If both computers are in the same LAN, use Network Sync instead which can send commands via UDP broadcasts (but requires Professional Studio on both ends).