Avatar billede aa7940 Nybegynder
06. maj 2002 - 13:21 Der 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?
Avatar billede lyhr007 Nybegynder
06. maj 2002 - 13:33 #1
Kan du ikke uddybe noget mere:

Hvad er det i har (program, viden etc.)?

Hvad er det i gerne vil opnå?

Hvilket problem har i som gør at i ikke kan opnå dette?

Hvilke teknologier skal i bruge, f.esk. skal det køre i en applet, eller skal den bygge på IRC protocol...
Avatar billede aa7940 Nybegynder
06. maj 2002 - 13:55 #2
Vi bruger java. Chat skal køres i en applet.
Avatar billede lyhr007 Nybegynder
06. maj 2002 - 14:08 #3
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.)
Avatar billede aa7940 Nybegynder
06. maj 2002 - 14:12 #4
Tak. Men vil du ikke sige mig hvad for nogen kommunikation plejer man at vælge når man designe chat sys.
Sychron elle asynchron ?
Avatar billede lyhr007 Nybegynder
06. maj 2002 - 14:20 #5
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.
Avatar billede lyhr007 Nybegynder
06. maj 2002 - 14:21 #6
Typo!!!

Sender til alle at "Person 2" disconnected.
Og sender en besked til Person1 om "message undileverable to Person2"

Da alt går igennem serveren sender man bare og lader serveren finde ud af om der er nogen der går skidt.
Avatar billede aa7940 Nybegynder
06. maj 2002 - 14:30 #7
Det er altid godt at høre på en klog mand/kvinde.
Og det er du sikkert mange tak!
Avatar billede lyhr007 Nybegynder
06. maj 2002 - 14:33 #8
Selv tak :)

2 ting:

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 :)
Avatar billede aa7940 Nybegynder
06. maj 2002 - 14:38 #9
Hvad bruger man de points til?
Avatar billede lyhr007 Nybegynder
06. maj 2002 - 14:40 #10
Giver dem når man skal have svar på noget, hvilket vil sige at de kloge hoveder har mange point :)

*** eller mangler et liv ***
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester