Java中的非阻塞套接字写与阻塞套接字写
为什么有人会喜欢阻止写而不是非阻止写?我的理解是,仅当您想确保写方法返回后,另一端获得了TCP数据包时,才希望阻止写操作,但是我什至不知道这是可能的。您将必须刷新,而刷新则必须刷新
底层操作系统的写套接字缓冲区
。那么,无阻塞套接字写是否有任何缺点?就性能而言,拥有较大的底层写套接字是否会缓冲一个不好的主意?我的理解是,底层套接字写缓冲区越小,当底层套接字缓冲区已满且isWritable()返回false时,您越有可能遇到慢速/忙碌的客户端,并且不得不丢弃/排队应用程序级别的数据包。