void serverAlertas_OnClientConnected(object sender, ClientConnectedEventArgs args) { // gera snapshot dos alertas cadastrados string snapshotAlertas = gerenciadorAlertas.GerarSnapshot(); StringBuilder retornoSnapshot = new StringBuilder(); retornoSnapshot.Append("SS"); retornoSnapshot.Append(snapshotAlertas); logger.Debug("Server - Enviando Snapshot [" + retornoSnapshot.ToString() + "]"); serverAlertas.SendData(retornoSnapshot.ToString(), args.ClientSocket); }
private void OnClientConnect(IAsyncResult asyn) { try { Socket ActiveSocket = MainSocket.EndAccept(asyn); Interlocked.Increment(ref ClientCount); this.WaitForData(ActiveSocket, ClientCount); lock (HashActiveClients) { if (HashActiveClients.ContainsKey(ClientCount)) { HashActiveClients[ClientCount] = ActiveSocket; } else { HashActiveClients.Add(ClientCount, ActiveSocket); } } ClientConnectedEventArgs args = new ClientConnectedEventArgs(); args.ClientNumber = ClientCount; args.ClientSocket = ActiveSocket; if (OnClientConnected != null) { OnClientConnected(this, args); } MainSocket.BeginAccept(new AsyncCallback(OnClientConnect), null); } catch (SocketException se) { logger.Error("OnClientConnect(): " + se.Message, se); throw se; } }