Sie müssen nicht wissen, welche Ports auf Ihrem lokalen Rechner offen sind, um eine Verbindung zu einem entfernten TCP-Dienst herzustellen (es sei denn, Sie wollen einen bestimmten lokalen Port verwenden, aber das ist normalerweise nicht der Fall).
Jede TCP/IP-Verbindung wird durch 4 Werte identifiziert: entfernte IP, entfernte Portnummer, lokale IP, lokale Portnummer, aber Sie müssen nur die entfernte IP und die entfernte Portnummer kennen, um eine Verbindung herzustellen.
Wenn Sie eine tcp-Verbindung mit
TcpClient c;
c = new TcpClient(remote\_ip, remote\_port);
Ihr System weist Ihrem Anschluss automatisch eine der vielen freien lokalen Portnummern zu. Sie brauchen nichts zu tun. Vielleicht möchten Sie auch prüfen, ob ein entfernter Anschluss offen ist, aber es gibt keinen besseren Weg, als einfach zu versuchen, eine Verbindung herzustellen.