Programación de redes en C#

Muhammad Maisam Abbas 12 octubre 2023
Programación de redes en C#

Este tutorial demuestra cómo podemos usar la biblioteca System.NET proporcionada por el marco .NET para crear una aplicación de red en C#.

Programación de Redes en C#

La biblioteca System.NET del marco .NET proporciona un marco simple para la programación de redes en C#.

Hay dos tipos de aplicaciones de red; cliente y servidor. Las aplicaciones cliente solicitan a la aplicación servidor que realice una tarea a través de la red, y la aplicación servidor realiza esa tarea y devuelve los resultados a la aplicación cliente.

Podemos programar esta aplicación cliente-servidor con el espacio de nombres System.NET en C#. Comencemos con el aprendizaje de URI a continuación.

Indicador Uniforme de Recursos

En networking, el cliente utiliza un indicador de recurso uniforme o URI para especificar el tipo de recurso requerido. La URI está formada por diferentes fragmentos:

  • identificador de esquema - Identifica el protocolo de comunicaciones para la solicitud y respuesta.
  • identificador del servidor: un nombre de host DNS o una dirección TCP identifica de forma única el servidor en Internet.
  • identificador de ruta - Localiza la información que solicitamos en el servidor; y una cadena de consulta opcional, que pasa información del cliente al servidor.

La clase URI en el espacio de nombres System.NET crea un identificador de recurso uniforme en C#. El siguiente bloque de código nos muestra cómo usar la clase URI en C#.

var resource = "http://webcode.me:80/";
var path = new Uri(resource);

Console.WriteLine("Port : " + path.Port);
Console.WriteLine("Hostname : " + path.Host);
Console.WriteLine("Path : " + path.LocalPath);
Console.WriteLine("Scheme : " + path.Scheme);

Producción :

Port: 80
Hostname: webcode.me
Path: /
Scheme: http

El código anterior toma una cadena, convierte esa cadena en una URI, y luego imprime diferentes fragmentos de esa URI recién creada. Además, esta clase URI realiza automáticamente algunas validaciones para asegurarse de que las URI estén bien formateadas.

Estas validaciones a veces pueden resultar contraproducentes y romper toda la URI. También podemos deshabilitar este efecto configurando UriCreationOptions.DangerousDisablePathAndQueryCanonicalization en true.

Deshabilita las validaciones, por lo que no podemos usar la propiedad Uri.Fragments.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn