示例#1
0
 protected void OnConnectionRequest(ConnectionRequestedEventArgs eventArgs)
 {
     byte[] bytes = eventArgs.bytes;
     if (bytes != null && bytes.Length == connectionRequestMessageLength)
     {
         try
         {
             Client.TYPE type      = Client.Identify((byte)(bytes[0]));
             string      name      = Client.typenames[type] + "_" + Encoding.ASCII.GetString(bytes, 1, 2);
             Client      newClient = Client.CreateNew(type, name, this);
             ClientConnectionRequestedEventArgs newClientEventArgs = new ClientConnectionRequestedEventArgs(newClient);
             OnClientConnectionRequested(newClientEventArgs);
         }
         catch (Exception e)
         {
             ExceptionOccuredEventArgs exceptionOccuredEventArgs = new ExceptionOccuredEventArgs(e);
             OnWaitForConnectionRequestExceptionOccured(exceptionOccuredEventArgs);
             StartWaitingForConnectionRequest();
         }
     }
     else
     {
         StartWaitingForConnectionRequest();
     }
 }
示例#2
0
        static void ClientConnectionRequestedEventHandler(object sender, ClientConnectionRequestedEventArgs eventArgs)
        {
            Client newClient = eventArgs.client;

            AddDataFlow(newClient);

            clientsByType[newClient.type].Add(newClient);
            unidentifiedPorts.Remove(newClient.port);
            newClient.StartReading();

            Console.WriteLine("New Client: " + newClient.name);
        }
示例#3
0
        protected void OnClientConnectionRequested(ClientConnectionRequestedEventArgs eventArgs)
        {
            EventHandler <ClientConnectionRequestedEventArgs> handler = ClientConnectionRequested;

            handler?.Invoke(this, eventArgs);
        }