06. maj 2002 - 13:21Der er
9 kommentarer og 1 løsning
chat system!?
Vi er ved at designe et chat system med TCP/IP sockets.System skal realisere klient/server mønster. Skal den være asynkron eller synkron?? Hvad er bedre eller mere realistisk?
På grund af at en applet kører i en sandbox er den letteste implementation at lade det køre client/server. Hvor Serveren kan være client i nogen tilfælde :)
Det vil sige at clienter logger sig på serveren og deres beskeder bliver forwarded videre til de andre clienter af serveren.
Dette er godt fordi at en applet må komunikere med den server den blev hente fra uden at den skal signes.
---
Så serveren skal have en liste over alle clienter der er i en chat. og skal kunne sende en besked til dem. DVS at den skal have en addClient, removeClient og sendMsg, som henholdsvis tilføjer en client, fjerner en client og sender en besked til en client.
Clienten skal kunne sende og modtage beskeder fra serveren, og ingen andre.
Jeg lavede dette med RMI og er relativt let. Det kan selvfølgelig udbygges med at en client kan whisper til en anden client osv (men alt data sendes til serveren der så sender det videre.)
There are two modes to send and receive a message. Synchron and asynchron. A synchron send/receive blocks the caller/receiver until communication is done. An asynchron send/receive returns as soon as possible. If sending synchron we wait for the receiver to get the message. The synchron send returns if an error occurs, a timeout takes place or the message is copied to the process space of the receiver successfully.
Så jeg vil mene at Asyncron er vejen frem, da der ikke er nogen grund til at vente på at få svar om det er gået godt. Hvis det går skidt kan serveren altid sende en besked om at der er sket en fejl.
Ala:
Person1, Person2 og Person3 er i en chat.
Person1 sender "hey all" til SERVER
SERVER køre en løkke og sender "Person1 sais: hey all" til Person2 og Person3.
*** Person2 mister forbindelsen til SERVER ***
Person1 sender "waz up" til SERVER.
SERVER sender det til Person3 men finder ud af at Person2 er disconnected.
Sender til alle at "Person 2" disconnected. Og sender en besked til Person om "message undileverable to Person2"
Da alt grå igennem serveren sender man bare og lader serveren finde ud af om der er nogen der går skidt.
1 husk at svar er til hvis man svare på det spørgsmål der er stillet i toppen. Kommentar er til alt andet, hvilket vil sige at alt det du har skrevet skal være kommentar.
2 selvom din tak varmer mit hjerte, ville en point uddelling varme mere :)
Giver dem når man skal have svar på noget, hvilket vil sige at de kloge hoveder har mange point :)
*** eller mangler et liv ***
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.