private void Start() { pairSocket = new PairSocket(); pairSocket.OnClientDisconnect += OnDisconnected; pairSocket.OnMessage += OnMessage; while (true) { var success = pairSocket.TryConnect("tcp://127.0.0.1:5001", 500); if (success) { Console.Title = "Client: " + pairSocket.ConnectionId; // Tokens podem ser adicioandos assim também var msg = new Message(1, "Hello Server :)"); pairSocket.Send(msg); pairSocket.Subscribe("connecteds", PubSubQueueLostType.LastMessage); pairSocket.Publish("connecteds", new Message(0, "Chegando ae na area " + pairSocket.ConnectionId)); pairSocket.SetLastWill("offline", new Message(0, "Meti o pé " + pairSocket.ConnectionId)); // Sleep apenas para que o Console não fique com mensagens misturadas e atrapalhe o entendimento do exemplo // Em um cenário real, não precisaria de qualquer tipo de delay Thread.Sleep(500); //pairSocket.Close(); //var _success = false; //while(!_success) //{ // Thread.Sleep(10000); // success = pairSocket.TryReconnect(); //} DoCommunication(); } else { Console.WriteLine("> Conexão não foi estabelecida, pressione qualquer tecla para tentar novamente"); Console.ReadKey(); } } }