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); } catch (Exception ex) { logger.Error("Exception(): " + ex.Message, ex); } }
void socketStreamerServer_OnClientConnected(object sender, ClientConnectedEventArgs args) { logger.Info("Recebeu conexao do StreamerServer: " + args.ClientNumber); }