23. januar 2004 - 15:08Der er
11 kommentarer og 1 løsning
Vejledning til Java
Jeg har et ønske om at lave en chatserver som virker over internettet - Meningenen er at det skulle kunne være muligt at connecte til serveren via en applet/flash frontend - hvordan jeg vil lave denne del ved jeg endnu ikke, men det jeg gerne vil have vejledning til i første omgang er serverdelen. Så vidt jeg har kunne læse mig til ville den bedste fremgangsmetode være at lave en backend som kommunikere med med frontend vha. XML. Jeg havde tænkt mig at lave backend i form af en Servlet, men jeg ved ikke om dette er det mest optimale - Jeg ved heller ikke rigtig hvor jeg skal starte på det.
Jeg kender allerede til det grundlæggende Java og XML. Jeg er begyndt på J2EE tutorial'en fra sun, men vil gerne have gode råd om det er den letteste vej til at løse problemet.
Hvad er fordelen og ulemperne ved HTTP-requests/socket connections? Og hvis jeg skulle bruge socket connections hvilken Java teknologi skulle jeg så benytte?
HTTP: hård belastning på server p.g.a. polling, ingen port problemer, kan køre på standard web hotel løsning
socket: bruger meget færre resourcer fordi nye beskeder kan pushes fra server til client når nødvendigt, der skal åbnes for en port til serveren, kræver (normalt) en speciel server process
Uhm okay - jeg vil gerne have det således at clients kun får sendt data når der sker noget på serveren (eksempelvis ved at en anden client har sendt data til serveren) -
Det vil sige at du synes det ville være lettest med sockets? (hvad med RMI, ville det ikke være lige så godt?) - Jeg har lidt svært ved at se hvordan jeg skal lave det når det skal laves med sockets og dermed ikke vha. en servlet da jeg gerne vil have at det bliver internetbaseret (hvor frontend bliver kørt fra en website)
RMI og sockets ligner hinanden meget arkitektur mæssigt. Forskellene ligger mere i den måde det skal kodes på.
Så ja RMI kan også bruge stil det, fordi det vil have ca. de samme egenskaber som sockets.
Du kan godt få web look and feel d.v.s. at folk connecter via browser til web server og får en side med en applet som kører i browser. At den applet snakker med en server process som køre ved siden af web serveren kan brugeren ikke se.
Det er for mig ligegyldigt om den server appletten snakker med ikke er den samme som webserveren - men dvs. jeg skal slet ikke rode mig ud i J2EE for at lave det?... (både sockets og RMI er så vidt jeg kan se en del af J2SE)
Hvad er lettest at programmere af RMI og Sockets og tager begge teknologier højde for firewalls?
Og til allersidst har du en idé til hvor det er lettest at starte med at læse for at komme i gang med at lære teknologien?
Hvad der er nemmest af sockets og RMI afhænger lidt af sammenhængen. Men jeg kunne godt forestille mig at sockets ville være best til dig. Både sockets og RMI skal have lukket op for en eller flere porte til servere, men RMI vil normalt drille mere med hensyn til det.
De 2 klassiske problemer med socket connections er: * at man ikke har overvejet protokollen hvem sender og hvem modtager i hvilken rækkefølge så man hænger * at man bruger f.eks. typer skriv og læs så man får sære fejl i data
Ok, det vil jeg prøve at tage højde for når jeg er klar til at begynde at programmere :]
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.