Sto creando un'applicazione client server usando c sharp. Il server sta usando tcplistener con un numero di porta fisso. il client si connette al server usando tcpclient. Una volta connessi, sia il client che il server comunicano utilizzando questa connessione. L'applicazione crea quindi una nuova connessione udp per inviare e ricevere messaggi. Dal momento che il server suppone di accettare una connessione multipla da un singolo client, devo differenziare ogni connessione con una porta diversa. Per fare ciò, devo prima chiamare 1. sul server, creare un udpclient (usare automaticamente la porta udp inutilizzata sul server). 2. invia il numero di porta utilizzato dal server udpclient al client. 3. il client invia i dati al server utilizzando il numero di porta specificato.Come conoscere il numero di porta utilizzato da C# UdpClient?
Il problema è, come creare un udpclient in cui è possibile conoscere il numero di porta utilizzato?
Purtroppo, almeno in .NET 4.0, il sistema non imposta mai il campo Porta di un socket UDP. E poiché si tratta di una proprietà get-only, non è possibile impostarla manualmente. –
OOPS. Avrei dovuto dire: il sistema non imposta la porta su socket UDP RAW quando si esegue il binding. lo fa su DGRAM Sockets. –