我知道当对端套接字关闭时会引发"broken pipe"错误。
但是,在我的测试中,我注意到即使在对端关闭后立即在此端进行'send'调用,也不总是导致"broken pipe"错误。
例如:
在关闭对端套接字(我尝试通过调用close进行清洁关闭,也尝试过通过杀死对等方进行异常关闭)后,如果我尝试发送40个字节,则不会出现"broken pipe"错误,但是,如果我尝试发送40000个字节,则会立即出现 "broken pipe" 错误。
到底是什么原因导致了"broken pipe"错误,它的行为是否可以预测?