Ejemplo n.º 1
0
        /// <summary>
        /// My basic protocol send first frame with a ushort, this contains the command
        /// </summary>
        private void DoCommunication()
        {
            Console.WriteLine("> Iniciando comunicação básica");

            pairSocket.OnMessage += OnMessage;

            var keepCommunication = true;

            while (keepCommunication)
            {
                var operation = Console.ReadLine();

                uint opCode;
                if (uint.TryParse(operation, out opCode))
                {
                    var txtMessage = Console.ReadLine();

                    var package = new Message();
                    package.Append(opCode);
                    package.Append(txtMessage);

                    var clients = pairSocket.GetAllClients();
                    if (clients.Count > 0)
                    {
                        var client = clients[0];

                        var response = client.Request(package);
                        Console.WriteLine(">>> Response:");

                        var serverOperationCode = response.ReadNext <uint>();
                        var serverMesage        = response.ReadNext <string>();

                        Console.WriteLine("Operation: " + serverOperationCode);
                        Console.WriteLine("Message: " + serverMesage);
                        Console.WriteLine("");
                    }
                    else
                    {
                        Console.WriteLine("> Nenhum cliente conectado");
                        Console.WriteLine("");
                    }
                }
                else
                {
                    Console.WriteLine("> Operação não é um valor válido, informe um ushort válido");
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// My basic protocol send first frame with a ushort, this contains the command
        /// </summary>
        private void DoCommunication()
        {
            Console.WriteLine("> Iniciando comunicação básica");
            Console.WriteLine("> Comandos (uint): ");
            Console.WriteLine("> 0: Escreve no console remoto");
            Console.WriteLine("> 1: Envia um dado para ser salvos");
            Console.WriteLine("> 2: Solicita todos os dados salvos");
            Console.WriteLine("> 3: Envia um Echo");
            Console.WriteLine("> ");

            pairSocket.OnMessage += OnMessage;

            var keepCommunication = true;

            while (keepCommunication)
            {
                Console.Write("> Operação (uint): ");

                var operation = Console.ReadLine();

                uint opCode;
                if (uint.TryParse(operation, out opCode))
                {
                    Console.Write("> Mensagem (string): ");
                    var txtMessage = Console.ReadLine();

                    var package = new Message();
                    package.Append(opCode);
                    package.Append(txtMessage);

                    var clients = pairSocket.GetAllClients();
                    if (clients.Count > 0)
                    {
                        var client = clients[0];

                        var response = client.Request(package);
                        if (response.Success)
                        {
                            Console.WriteLine(">>> Response:");

                            var serverOperationCode = response.ReadNext <uint>();

                            Console.WriteLine("");

                            Console.WriteLine("Operation from Remote: " + serverOperationCode);
                            string frame = "";
                            while ((frame = response.ReadNext <string>()) != "")
                            {
                                Console.WriteLine(frame);
                            }

                            Console.WriteLine("");
                        }
                        else
                        {
                            Console.WriteLine(">>> Request fail!");
                        }
                    }
                    else
                    {
                        Console.WriteLine("> Nenhum cliente conectado");
                        Console.WriteLine("");
                    }
                }
                else
                {
                    Console.WriteLine("> Operação não é um valor válido, informe um uint válido");
                }
            }
        }