Imam problem sa funkcijom send().
U pitanju je jedan TCP client i server.
Server lepo radi, sve dok ne izgubi konekciju sa klijentom.
Dakle, recimo klijentu pukne veza, a server (normalno) to ne zna, jer se klijent nije normalno diskonektovao, već je njegova veza pukla.
Ako server pokuša nešto da pošalje klijentu, kroz socket, dešava se nešto čudno.
Na windows-u funkcija send() lepo vrati -1, što znači da je socket 'prso'.
Ali, na Linuxu, kada prvi put zovnem send() - funkcija vrati broj poslatih bajtova - kao da je sve u redu, kao da je poslao string !?!
Ako ponovo zovnem send() - načiću se u konzoli sa porukom : Broken pipe, i ceo program padne.
Nikad mi ne vraća -1.
Sors je isti i za Win i za UNIX, naravno na windowsu imam onu WSA inicijalizaciju...
U čemu je problem ?




Broken pipe
Re: Broken pipe
Re: Broken pipe
Re: Broken pipe