对于慢系统调用,像accept, receive这样有可能无法返回的函数的进程一旦捕获了某个信号,并且相应的信号处理函数返回时,该系统调用有可能返回一个EINTR错误。 非阻塞模式下调用了阻塞操作,在该操作没有完成就返回EAGAIN。EAGAIN不会破坏socket的同步,不用管它。
非阻塞的话由于connect过程中要实现TCP的三次握手,因此connect之后直接返回一般情况下返回-1,也就是正在进行连接的状态,可以检测描述符的写事件,如果可写那么说明连接建立完毕(不能检测可读,因为可读的话需要对端发送数据过来才检测的到)。 断开: TCP是支持全双工的通讯方式,他同时也允许半连接的通讯,就是说只进行...