コード例 #1
0
ファイル: CommandHub.cs プロジェクト: Chainbit/SimBankSite
        /// <summary>
        /// Метод выполняемый при подключении к хабу
        /// </summary>
        /// <param name="commName"></param>
        public void Connect(string commName)
        {
            var websiteKey = "8nkCH0iXXkNBgw3V";

            var id = Context.ConnectionId;

            if (commName == websiteKey)
            {
                Host = new ClientComm {
                    ConnectionId = id, Name = commName
                };
            }
            else if (!clientComms.Any(x => x.ConnectionId == id))
            {
                clientComms.Add(new ClientComm {
                    ConnectionId = id, Name = commName
                });
            }

            // Посылаем сообщение текущему пользователю
            Clients.Caller.onConnected(id, commName);

            // и сайту
            if (Host != null)
            {
                Clients.Client(Host.ConnectionId).newClientConnected(id, commName);
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: ManiacPC/2021_03_Sockets
        static void Main(string[] args)
        {
            // Obtener IP y Puerto
            string server = ConfigurationManager.AppSettings["ip"];
            int    port   = int.Parse(ConfigurationManager.AppSettings["port"]); // Anterior: Convert.ToInt32

            Console.WriteLine($"Conectando a {server}:{port} ...");

            // Inicializar objeto de comunicación cliente
            ClientComm communicationServer = new ClientComm(server, port);

            // Intentar conectar
            if (communicationServer.Connect())
            {
                // Lo que se hará a continuación tiene un orden que puede variar,
                // dependiento de la implementación y requerimientos del problema
                /* Proceso de leer e imprimir mensaje del servidor */
                string mensajeRecibido = communicationServer.Read();
                Console.WriteLine($"Servidor: {mensajeRecibido}");

                /* Proceso de solicitar input del usuario y enviar al servidor */
                Console.WriteLine("Escriba el remitente del mensaje:");
                string mensajeEnviar = Console.ReadLine().Trim(); // Sanitizar
                communicationServer.Write(mensajeEnviar);

                /* Proceso de leer e imprimir mensaje del servidor */
                mensajeRecibido = communicationServer.Read();
                Console.WriteLine($"Servidor: {mensajeRecibido}");

                /* Proceso de solicitar input del usuario y enviar al servidor */
                Console.WriteLine("Escriba el mensaje:");
                mensajeEnviar = Console.ReadLine().Trim(); // Sanitizar
                communicationServer.Write(mensajeEnviar);

                communicationServer.Disconnect();
            }
            else   // Si es que no logró conectar
            {
                Console.WriteLine("No se pudo conectar con el servidor");
            }
        }