[ lukeguy @ 19.09.2006. 21:09 ] @
imam klijent/server aplikaciju. server je klasičan višenitni, gde glavna nit (main) vrti beskonačnu petlju u kojoj se nalazi accept. kada se prijavi klijent, accept se odblokira, uzme se socket (koji vrati accept) i naprave se reader i writer thread koje su potom zadužene za ovaj socket. i tako u krug. e sad, kad se klijent prijavi i accept se odblokira, meni se u serveru na konzoli ispiše "prijavio se klijent sa adrese bla bla". da li ja nekako mogu da znam kada taj klijent "ode" (bilo namerno bilo zbog mreže), tj. da mi server ispiše "klijent <IP> je prekinuo vezu". to mi deluje kao nekakva obrada događaja, mada nisam siguran kako to sve funkcioniše u konzoli. ili da napravim nekakav polling mehanizam, pa da recimo server čeka do 15 minuta na odziv od svakog klijenta kojeg prozove. čini mi se da će ovo stvarati nepotrebni 'overhead'. inače, klijent se "odjavljuje" tako što šalje QUIT! u socket, ali ja to ne mogu da garantujem u slučaju da se npr. klijentska aplikacija zaglavi ili da se prekine mreža do servera itd. |