20. november 2003 - 10:39Der er
12 kommentarer og 1 løsning
Socket Spm
Hvis man forbinder et client program til et server program med Socket´s.
Og systemer virker på en måde således at serveren engang imellem uopfordret sender noget til klienten. Hvad så hvis forbindelsen lige pludselig ryger, f.eks hvis strømmen til serveren ryger. Eller hvis en router på vejen falder ud.
Så får klienten jo ikke besked, den står vel bare og regner med at serveren ikke har noget at sige, selvom forbindelsen i virkeliheden er røget.
???
Spm 2. Hvor tit vil en fast tcp forbindelse på internettet gå i stykker, hvis man antager at serveren virker perfekt ??
spm1: Når klienten står og lytter efter data på en socket forbindelse gøres dette ofte via en inputstream på socket forbindelsen. Hvis Serveren går ned får du en exception på denne inputstream hvilken du kan reagere på !
Hvis du altid står og læser fra din klient-socket (InputStream'ens read-metode), vil du oftest (99% af tilfældene) kunne opdage at forbindelsen er blevet afbrudt. F.eks. hvis du modtager bytes med værdien -1, betyder det at forbindelsen er afbrudt. I de fleste tilfælde vil InputStream'en dog smide en IOException ved afbrydelse af forbindelsen.
I den sidste 1 % tilfælde, er du nødt til at indføre en ping-mekanisme mod serveren, og hvis ikke du ikke modtager et svar indenfor f.eks. 30 sekunder, må du betragte serveren som utilgængelig eller forbindelsen død.
Nogen tilfælde (hvor det ikke er helt klart om mit indlæg kan løse problemet) ligger jeg kun en kommentar, men forventer at spørger beder om et svar, hvis det kan bruges til noget.
arne jeg synes det vil være helt fair hvis du får halvdelen - jeg opretter et spørgsmål, som du kan svare på.
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.