Avatar billede apocryphal Nybegynder
11. juli 2002 - 10:30 Der er 5 kommentarer og
1 løsning

Socket-server

Jeg skal lave en server, som udlevere forskellige informationer til nogle klienter (i form af applets), og der vil være opimod 600 af disse klienter af gangen.

Serverklassen bliver kompileret med Microsofts compiler, så den kan køre som en NT service, og mit spørgsmål er som følger:

Hvordan skal jeg gemme Socket-objekterne på serveren?
Det er vel en dårlig idé, at lave en ClientSocket klasse, som har sin egen Thread, da 600 Threads for en applikation vel er lige i overkanten?!

Jeg tænkte på en model med en "socket-manager" som har én tråd, og 20 (+- det nødvendige) socket-conenctions. Når man skal have fat i en specifik socket connection, går man igennem dette flow:

Server -> Finde korrekt socket manager -> Udlevere socket.

Er denne model performancemæssig i orden?

Applikationen vil have 30 tråde, hvis der er 600 connections til den (plus måske 2 andre til andre opgaver).

Jeg agter at gemme socketconnections'ne i en ArrayList, og gennemløbe denne hvergang jeg skal have fat i en socket.

--
Jonas
Avatar billede disky Nybegynder
11. juli 2002 - 10:44 #1
Om 600 tråde er for meget tør jeg ikke svare på.
Men jeg tror det ikke ummidelbart.
Avatar billede apocryphal Nybegynder
11. juli 2002 - 14:36 #2
Den skal køre på en iforvejen belastet webserver...

Men det må vel kommen an på en test, så...

--
Jonas
Avatar billede disky Nybegynder
11. juli 2002 - 14:39 #3
Det ville jeg ihvertefalde gøre.
Avatar billede webster Nybegynder
11. juli 2002 - 17:48 #4
jeg vil lige tillade mig at uddybe spørgsmålet.. hvis fx 600 eller for den sags skyld 1200 tråde bliver "for meget" hvilken model anvender man så hvis man skal læse fra 1200 sockets løbende?
Avatar billede disky Nybegynder
11. juli 2002 - 18:56 #5
Så ville jeg gøre som du selv foreslår.

lave x-antal tråde som klarer antal/x sockets
Avatar billede apocryphal Nybegynder
12. juli 2002 - 10:00 #6
Okey.

Det vil jeg så arbejde ud fra.

En klasse der har x antal ClientManagers, som har y antal tråde hver.

--
Jonas
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