【发布时间】:2011-03-18 10:38:17
【问题描述】:
目前,我们的应用程序使用套接字输入和输出流进行通信。在具体示例中,它从控制台输入流读取并写入套接字输出流。如果socket输入是从外面关闭的,但是写入是阻塞的,输出流不能关闭导致挂起。
因此我想在循环中使用一些轮询,定期轮询(控制台)输入流以检测它是否已关闭并因此关闭输出流。
根据this article,看来我必须采用SocketChannels 而不是输入流和输出流。输入流和输出流是否解耦,所以我可以先用SocketChannel 尝试输入流,然后保持输出流代码不变?
【问题讨论】: