I have added preliminary support for TCP in an experimental version of PowerSDR1.3.12. Here are a few screenshots:
(click on the image for a full size version)
The windows titled "TestClient" is just a fast app I wrote to test the CSocketClient and CSocketServer classes that I wrote. I am using it to send and receive to/from PowerSDR. The four windows represent four different simultaneous connections to PowerSDR.
I added a few items to the setup form:
You can enable either CAT via Serial or TCP or both. For TCP you can set the maximun connections allowed and which port number the TCP server listens to for connections from clients.
I used an umodified PowerSDR 1.3.12 as a base so the new serial port code is not in it. This was just for testing purposes though. As Bill, KD5TFD brought up in an email conversation, we will probably have to serialize access to the PowerSDR CAT and a good place might be in the command parser.
The TCP stuff will probably not be integrated into the console until after 1.4.0 is out.
Here is a view of the two new files (3 classes CSocketClient, CSocketServer, TCPListener) added to make it work:
SocketUtilites.cs contains the asynchronous CSocketServer and CSocketClient classes.
TCPListener basically has the same function as SIOListener.
The next step is to create a TCP Client to Serial bridge what will allow you to connect to a virtual com port and send/rx data to/from the TCP server in PowerSDR.
COMMENT: I must say that Bob, K5KDN and Bill, KD5TFD have made it very easy to extend the CAT support based on their excellent code.