public void userlist(int rettighed) { if(rettighed==1) { //Udskriv tabel med brugere... }
else System.out.println("Du har ikke rettighed til at se brugerliste."); }
}
Den indlæser altså indholdet(fx. brugernavn, password) af en database i et binært træ. Er det muligt på en måde at sende en besked fra serveren til EN BESTEMT klient? (fx til tjek på brugernavn/password)eller er man nød til at sende ud til alle klienterne?) Er det desuden muligt at trække andre oplysninger ud af serveren omkring de enkelte klienter, som fx ip?
Hvis noget af overstående er muligt vil jeg gerne have en forklaring på hvordan det kan gøres. Mvh Torben
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Som jeg kan forstå på det har du forbindelserne til dine klienter i array[]. På dine connections kan du selvfølgelig finde ip og port på hver enkelt klient. Hvis nu du laver array om til array[x][3], så kan du i array[x][0] gemme selve forbindelsen, i array[x][1] kan du gemme brugernavn og i array[x][2] gemme password. på denne måde har du de rigtige brugernavne og adgangskoder på hver enkelt klient. Så kan du løbe array igennem, finde forbindelsen med det korrekte brugernavn og kun sende beskeden til denne.
og når du skal bruge en socket for en bestemt bruger så løber du gennem user arrayet og finder brugeren og så er socketen i samme position i det array som hedder array.
Det vigtigste er at du får de to arrays user og array (du bør finde et andet navn til det !) opdateret så værdierne matcher, så kan du altid finde socket for en bruger.
Hvis du skal finde socket udfra username for at kunne sende til en bestemt bruger, så skal du: - sørge for at de to arrays med sockets og usernames matcher - bruge min kode fra 19:19:36 til at find esocketen
Så får man alle informationer ud.... kan man på nogen måde nøjes med at trække ipen ud eller kan man på nogen måde gennemsøge et Socket array, som fx hvis det var strenge?
Ok, det lyder godt! Men hvordan sørger jeg for at hvis jeg kun skriver til fx klienten hvis info ligger gemt i array[1]?
Den første kommentar der er skrevet forstår jeg således at hvem gang en klient connecter så skal samtlige brugernavne og passwords sendes dertil. Er det ikke lidt uhensigtsmæssigt?
Det jeg tænker på er det, som står i det allerførste(19:15:22) svar "på denne måde har du de rigtige brugernavne og adgangskoder på hver enkelt klient". Hvis det nu var dig der skulle lave en simpel validering, hvordan vil du så gøre det på klient siden? Jeg har lavet en metode, som gennemsøger det binæretræ og returnerer true, hvis det er det rigtige brugernavn/password.
Tilbage til det andet problem.... Hvordan sender jeg en besked til den bruger der er på fx. socket[9] ?
Jeg er sikke rpå at han mener "for" hver klient ikke "på" hver klient.
Jeg ville absolut lave validereingen pås erver side. Det er både nemmest at kode og mest sikker.
Dit binære træ lyder som en udmærket løsning.
Det er nemt at sendt til en socket.
Du kan hente en output stream med getOutputStream og write'e til den eller måske endnu bedre create en ObjectOutputStream udfra den, så ddu kan sende Java objects istedetfor byte arrays.
Det sidste du siger er jeg ikke helt med på :o( Jeg er helt ny på det hersens netværksområde... hvordan fungerer getOutputStream? (jeg går ud fra at det er den metode jeg skal bruge til at skrive til en bestemt socket....
Ved ikke om det er mig der er helt blank, men når jeg forsøger mig med ObjectOutputStream får jeg en fejl på getOutputStream:
cannot resolve symbol symbol : variable getOutputStream location: class java.net.Socket ObjectOutputStream oos = new ObjectOutputStream(array[i-1].getOutputStream);
getOutputStream er vel en metode, så jeg fatter ikke helt fejlen. Jeg vil blot prøve at sende et object for at teste det:
while(true) { System.out.println("Venter på klient...");
Det er jo altid sjovere selv at lave tingene. Men man kan jo altid lære lidt af andres løsninger. Og IBM har rigtigt gode Java folk.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.