Programa C# que acepta un nombre de empleado del cliente y muestra el título del trabajo usando XML

En este programa, al usar el cliente, se acepta el nombre del empleado y luego pasa el trabajo del empleado usando XML. En el lado del cliente, estamos usando un ciclo while y en cada iteración, estamos creando un valor para la variable ‘objeto’ usando el método TcpClient(). Esto se usa específicamente para proporcionar conexiones de cliente para servicios de red TCP. Además, hemos utilizado el método GetStream() que devuelve el NetworkStream que se utiliza para la transmisión de datos (envío y recepción).

Hemos asignado el valor del método AutoFlush() como verdadero. Esto marca específicamente el valor que indica si StreamWriter vaciaría el búfer a la secuencia especificada después de cada llamada a StreamWriter.Write. Hemos usado un ciclo while y en cada paso de la iteración, leemos el nombre del empleado.

Aquí, el método close() finaliza el flujo actual y libera cualquier recurso (como sockets y identificadores de archivos) vinculados con el flujo actual. En el lado del servidor, hemos utilizado la función AcceptSocket() que acepta la solicitud de conexión que está pendiente. De nuevo, hemos usado el ciclo while para leer el nombre del empleado.

Para verificar si la variable de nombre está vacía o es nula, hemos utilizado la declaración de condición If. Para obtener los datos de AppSettingsSection, hemos utilizado AppSettings para la configuración predeterminada de la aplicación actual.

Para comprobar si el valor de la variable ‘trabajo’ es igual a nulo, hemos utilizado otra condición if. Si esta condición se evalúa como verdadera, entonces hemos marcado el valor de la variable ‘trabajo’ como «Empleado no válido». Para escribir datos específicos estamos usando el método WriteLine(). El terminador de línea actual se usa luego para el flujo de salida estándar. Eventualmente, el nombre del empleado se da en el lado del cliente y se imprime el trabajo del empleado correspondiente.

Programa del lado del servidor:

C#

// C# server side program
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Configuration;
  
class GFG{
      
static TcpListener myListener;
const int MAX = 5;
  
public static void Service()
{
    while (true)
    {
        Socket mySocket = listener.AcceptSocket();
        Console.WriteLine("Connected to {0}",
                          mySocket.RemoteEndPoint);
        try 
        {
            Stream myStream = new NetworkStream(mySocket);
            StreamReader myStreamReader = new StreamReader(myStream);
            StreamWriter myStreamWriter = new StreamWriter(myStream);
              
            // enable automatic flushing
            myStreamWriter.AutoFlush = true; 
                                   
            myStreamWriter.WriteLine("{0} is the number of available Employees",
                                     ConfigurationSettings.AppSettings.Count);
            while (true) 
            {
                string myName = myStreamReader.ReadLine();
                if (myName == "" || myName == null)
                    break;
                      
                string myJob = ConfigurationSettings.AppSettings[name];
                  
                if (myJob == null)
                    myJob = "Invalid Employee";
                      
                myStreamWriter.WriteLine(myJob);
            }
            mySocket.Close();
        }
        catch (Exception exception) 
        {
            Console.WriteLine(exception.Message);
        }
        Console.WriteLine("Disconnecting: {0}",
                          mySocket.RemoteEndPoint);
        
          // Close the socket 
        mySocket.Close();
    }
}
  
// Driver code
static public void Main()
{
      
      // Listener
    listener = new TcpListener(2055);
    listener.Start();
  
    Console.WriteLine("Listening to the port 2055...");
    for(int i = 0; i < MAX; i++)
    {
          
          // Creating thread object
        Thread thread = new Thread(new ThreadStart(Service));
          
          // Start the thread
          thread.Start();
    }
}
}

Codificación XML:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key = "Bhuwanesh" value="Developer"/>
    <add key = "Harshit" value="Tester"/>
  </appSettings>
</configuration>

Programa del lado del cliente:

C#

// C# program for Client Side 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net.Sockets;
  
class GFG{
  
static public void Main()
{
    TcpClient client = new TcpClient("win7-PC", 2055);
    try 
    {
        Stream myStream = client.GetStream();
        StreamReader myStreamReader = new StreamReader(myStream);
        StreamWriter myStreamWriter = new StreamWriter(myStream);
        myStreamWriter.AutoFlush = true;
        Console.WriteLine(myStreamReader.ReadLine());
          
        while (true) 
        {
            Console.Write("Name of the employee: ");
            string employeeName = Console.ReadLine();
            myStreamWriter.WriteLine(employeeName);
              
            if (employeeName == "")
                break;
                  
            Console.WriteLine(myStreamReader.ReadLine());
        }
        myStream.Close();
    }
    finally 
    {
        client.Close();
    }
}
}

Producción:

Publicación traducida automáticamente

Artículo escrito por bhuwanesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *