1.在服务器端主动关闭socket后,客户端使用write()函数的写入仍能完成,并且write()函数能够正常返回成功写入的字节数;
2.在服务器端主动关闭socket后,客户端使用read()函数将无法正确读取到服务器端发送的数据,而这种情况下read()函数将会返回0(而不是-1)并且不报错。这是因为当一方想要关闭连接时,它会发送一个 FIN 包,接收到此 FIN 包的一方在读取数据时会得到一个长度为 0 的数据,这是告诉接收方发送方已经关闭了连接的信号。而仅在出现错误时read()函数才会返回-1。