サーバーに接続するクライアント iOS アプリがあります。ノンブロッキングソケットを使用しています。
int fl;
fl=fcntl(s,F_GETFL,0);
fcntl(s,F_SETFL, fl | O_NONBLOCK);
int set = 1;
setsockopt(s, SOL_SOCKET, SO_NOSIGPIPE, (void *)&set, sizeof(int));
- データがない場合は -1 が返されます
read
- 切断されている場合は、0 が返されます。
read
しかし、それは必ずしも真実ではありません。接続が失われることがありますが、-1 が返されます。
eof
検出するようなものはありますか?