我有连接到服务器的客户端 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
检测的吗?