как я могу получить порт клиента, который подключается к приложению c #?
Предполагая, что у вас есть объект System.Net.Sockets.Socket, введите его свойство RemoteEndPoint с типом IPEndPoint и затем прочитайте его свойство Port.
System.Net.Sockets.Socket
RemoteEndPoint
IPEndPoint
Port
Чтобы прослушивать сокет, вам не нужно знать номер порта первым?