/// <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"); } } }
/// <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"); } } }