尝试在localhost(1024端口)上连接到我自己的POP3服务器。它的代码:
server_socket = new ServerSocket(SBAP_PORT);
Socket clntSocket = server_socket.accept();
public void run() {
try {
try {
in = new BufferedReader(
new InputStreamReader(socket.getInputStream()
));
out = new PrintWriter(socket.getOutputStream(), true);
out.print("+OK\\r\\n");
command = in.readLine();
String result = handleInput(command);
out.println(result);
} finally {
socket.close();
state.close();
System.out.println("client offline.");
}
} catch (Exception ignored) {
}
}
使用telnet工作正常,但是当我尝试使用Thunderbird时,只是超时(无法找到您的电子邮件帐户的设置)。
在调试中我看到,连接时我得到空字符串。
我做错了什么?也许我应该在连接后向客户发送一些东西?
答案 0 :(得分:1)
我认为必须\\r\\n
而不是out.flush();
,并尝试刷新您{{1}}发送给客户的每个回复,但可能没有必要。