socket pselect problem
Ked zavrem v clientovi spojenie, tak pselect() na serveri stale detekuje prisle data.. lenze read nic neprecita, ani len EOF. Tak sa chcem spytat ci tam nahodou neprichadza nejaka obsluzna diconnect sprava...
Pre pridávanie komentárov sa musíte prihlásiť.
Tam nikto netusi, ktory socket to posiela
select vyberie ten scket na ktorom su data...
ak ma procesy/vlakna pre kazdeho klienta a nepozivas select tak urcite je prijate EOF...
Tie data mozu byt udrzivacie data niektoreho zo socketov..
Client zavre svoj socket cez close. Na server mi presne v tom okamihu pridu data. Lenze read nic neprecita a vyhodi I/O error. Nemalo ale nahodou dojst EOF (pripadne zvysok dat ak nejake boli na ceste) a read ho bez problemov precitat?
Opdpoveď som našiel tu: http://www.linuxquestions.org/questions/programming-9/fd_isset-signals-new-data-on-remotely-closed-socket-543493/ a tu: http://www.developerweb.net/forum/archive/index.php/t-3316.html
V skratke (ak som to správne pochopil): select() označí nepripojený socket, ako keby naň prišli dáta a zároveň read/recv vracajú neblokujúco 0. Tak sa dá vlastne identifikovať odpojený socket.