anchor.diff:      fOnPing:TNotifyEvent;
       fOnCommands:TStringEvent;
   
  +    procedure ConnectSucceed(Sender:TObject);
  +    procedure ConnectFailed(const S: string);
       procedure PacketRecieve(aData:pointer; aLength:cardinal); //Process all commands
       procedure PacketSend(const aAddress:string; aKind:TMessageKind; const aData:string);
       procedure PacketToAll(aKind:TMessageKind; const aData:string='');
  
positive.code: 
    fNetClient.ConnectTo('127.0.0.1', KAM_PORT);
    fNetClient.OnRecieveData := PacketRecieve;
    fNetClient.OnConnectSucceed
  
    if Assigned(fOnPlayersSetup) then fOnPlayersSetup(Self);
  end;
  
negative.code: 
    fNetClient.ConnectTo(fHostAddress, KAM_PORT);
    fNetClient.OnRecieveData := PacketRecieve;
    fNetClient.OnConnectSucceed := ConnectSucceed;
    fNetClient.OnConnectFailed := ConnectFailed;
  end;
  
  
  procedure TKMNetworking.ConnectSucceed(Sender:TObject);
  begin
    case fLANPlayerKind of
      lpk_Host:   fOnTextMessage('Connected to server');
      lpk_Joiner: PacketToHost(mk_AskToJoin, fMyNikname);
    end;
  end;
  
  
  procedure TKMNetworking.ConnectFailed(const S: string);
  begin
    case fLANPlayerKind of
      lpk_Host:   begin
                    fNetClient.OnRecieveData := nil;
                    fNetClient.Disconnect;
                    fOnJoinFail(S);
                  end;
      lpk_Joiner: begin
                    fNetClient.OnRecieveData := nil;
                    fNetClient.Disconnect;
                    fOnJoinFail(S);
                  end;
    end;
  end;
  
  
  