Design patterns, multiuser server
Howdysom det har fremgået af mine sidste spørgsmål på eksperten så har jeg i et stykke tid arbejdet med at lave nogle simple chatservere og lignende i java, med det umiddelbare formål at lære lidt om hvordan det funker =) I mine forskellige applikationer har jeg anvendt flere forskellige metoder til at håndtere opgaven med at holde styr på en række tcp forbindelser og kommunikere trafik mellem dem, og mellem nogle forskellige server funktioner. Nogle af server "strukturerne" har været mindre vellykket end andre og har blandt andet været plaget af deadlocks og andre dumme problemmer. Så mit spørgsmål lyder om der er nogen her der kan komme med nogle gode råd i forhold til design af en multiuser server med udgangspunkt i en simpel chatserver ala en irc server.
Pt. hælder jeg mod at anvende en model hvor hver socket forbindelse håndteres af et objekt der har 2 tråde tilknyttet der henholdsvis læser fra inputstream og skaber message events, og en tråd der læser fra en fifo queue og sender messages til outputstreamen. Jeg vil så også lade diverse funktionalitetsobjekter have et lignende queue-message system men den model løber ind i problemer de steder hvor et queue system ikke er hensigtmæssigt.. så nogen der har noget erfaring at øse ud af? links til artikler og lign. er også meget velkommen.
på forhånd tak
