读取所有输出时 Java 套接字挂起

标签 java sockets

我有一个 Java 套接字,它连接到 SMTP 服务器来发送电子邮件,并使用 BufferedReader 和 Writer 来读取和写入套接字。我的问题是知道何时终止写入套接字后调用的 while() 循环;使用

while(bufferedreader.readLine() != null)

无法工作,就好像没有从服务器读取的行一样,BufferedReader 只是挂起而不是返回 null

最佳答案

从套接字读取数据时不要使用readLine(),因为readLine()假定传入流是一个文本文件,它具有行结尾。情况可能并非如此,这会无限期地阻止 readLine(),因为即使传入流已结束,也不会出现行结束。

关于读取所有输出时 Java 套接字挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9294268/

相关文章:

java - Sqlite 查询返回 mRowIdColumnIndex 为 -1

java - 我可以使 JFrame 看起来像 JWindow 吗?

java - 如何从 java 中收集 JVM 性能统计信息

JavaFX : TableView contents are not showing

sockets - Mule ESB CE 3.5.0 TCP 重新连接策略

c# - 客户端服务器套接字应用程序上的方法错误没有过载

java - 执行其他任务后将字符串 append 到 JText 区域

java - 将图像从java客户端发送到python服务器

c# - 没有从AGWPE接收数据

java - 在java中从HTTPS下载