Estoy creando una aplicación de servidor de cliente usando c sharp. El servidor está utilizando tcplistener con un número de puerto fijo. el cliente se conecta al servidor usando tcpclient. Una vez conectado, tanto el cliente como el servidor se comunican usando esta conexión. La aplicación luego crea una nueva conexión udp para enviar y recibir mensajes. Dado que el servidor supone que debe aceptar múltiples conexiones desde un solo cliente, tengo que diferenciar cada conexión con un puerto diferente. Para hacer esto, primero tengo que 1. En el servidor, cree un udpclient (use automáticamente el puerto udp no utilizado en el servidor). 2. envía el número de puerto utilizado por el servidor udpclient al cliente. 3. el cliente envía datos al servidor utilizando el número de puerto especificado.¿Cómo saber el número de puerto utilizado por C# UdpClient?
El problema es, ¿cómo crear un cliente udp donde se puede saber el número de puerto utilizado?
Lamentablemente, al menos en .NET 4.0, el sistema nunca establece el campo Puerto de un socket UDP. Y como es una propiedad de solo obtención, tampoco puede establecerla manualmente. –
OOPS. Debería haber dicho: el sistema no establece el puerto en sockets UDP RAW cuando se une. lo hace en DGRAM Sockets. –