F12(TCP - Server) Flashcards
Vad är en iterativ server?
En server där en klient hanteras i taget
Vad är en flertrådad server?
En server där flera klienter hanteras av servern samtidigt
När används en iterativ server?
När en request (från client) exekveras snabbt
När använder man flertrådad server?
När en request tar tid
Vad är fördelarna och nackdelarna med en iterativ server?
Fördelar:
- Viss effektivitet när trådhantering försvinner
- Enklare att skriva
Nackdelar:
- Om en request tar tid så får klienter vänta i kö länge
Hur använder en server UDP?
När använder vi en DatagramSocket?
När vår server ska använda sig av UDP
Vad finns i ett DatagramPacket?
Adress till servern
Meddelande till och från servern
Hur använder en iterativ server TCP?
Vilken socket behövs när en server använder TCP repektivt UDP?
TCP - serverSocket
UDP - datagramSocket
Vad gör metoderna readUTF( ) och writeeUTF( )?
Läser och skriver en unicode string
Vad gör en Socket?
Ger servern en möjliget att lyssna på inkommande request
med accept( )
Vad är fördelarrna och nackdelarrna med en flertrådad server?
Fördelar:
- Snabb och effektiv
- Kort väntetid för klient
- Trådar oberoende av varandra
- Om en tråd avbryts i väntan på en resurs drabbas ej andra klienter
Nackdelar:
- Vid exekvering på processor ökarr ej prestandan i servern
- Krånglig att skriva
- Gemensamma resurser måste synkroniseras
På vilka sätt kan man implementera en flertrådad server?
1. En tråd per klient
- Servern startar ny tråd per klient
- Många klienter tynger systemet
- Mycket resurser till trådhantering
+ Kräver inte köer
- *2. Trådpool**
- Servern startar n antal trådar som server klienterna, optimerar perfomance
- För många klienter gör att trådarna ej hinner med
Hur kan en design för en flertrådad server se ut?