【发布时间】:2011-11-10 21:57:57
【问题描述】:
为什么有人更喜欢阻塞写入而不是非阻塞写入?我的理解是,如果您想确保在写入方法返回后对方收到 TCP 数据包,您只会想要阻止写入,但我什至不确定这是否可能。您将不得不刷新并且刷新将不得不刷新底层操作系统写入套接字缓冲区。那么非阻塞套接字写入有什么缺点吗?就性能而言,拥有一个大的底层写入套接字缓冲区是不是一个坏主意?我的理解是,底层套接字写入缓冲区越小,您就越有可能遇到缓慢/错误的客户端,并且当底层套接字缓冲区已满且 isWritable() 返回 false 时,您必须在应用程序级别丢弃/排队数据包。
【问题讨论】:
标签: java sockets networking tcp nio