I am working on a tool that will be run by multiple users on the same terminal server. This tools uses TCP sockets to IPC between multiple processes. As multiple instances of the tool will be running at the same time by multiple logged in users, I want to know how are the ports managed on a Windows server? As in, is there a concept of virtual ports that the OS can then map to a system-wide unique port or do the tools running for different users need to handle this in user space?
The instances of the tool all need to listen at different port numbers, or the same number at different IP addresses.
[Assuming they are listening at all, which isn't stated, but which is the only actual source of concern.]