(套接字)在java程序中,pop3命令只检索一条消息

时间:2014-11-26 15:16:13

标签: java sockets pop3

我写了一个没有javax.mail包的java程序。要连接到我的Gmail帐户,我使用套接字。要检索我的消息,请使用for循环。

 for(int i=1; i<=NumOfMsg; i++){
   output.println("RETR "+i);
   do{
        answer = response();
        System.out.println(answer);
    } 
    while (true);   

响应是看起来的方法:

String response() throws IOException {

   response = input.readLine();
   if(response == null) 
   return null;
   else
   return answer;
}

执行此程序时,它只返回第一个字母。之后程序不会重复循环。光标闪烁,我无法理解他是否正在等待另一个反向挂起的输入。如果我离开程序5分钟,它将开始永久循环并打印为空。

任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:0)

你的逻辑错误。您可以为response()中的第一个结果分配答案,然后永远不会更新它,除非响应为空。

如果你想从响应中建立一个答案,你应该有一个循环将响应附加到答案变量。

a.com