尝试连接到本地主机(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 执行此操作时,只是超时(无法找到您的电子邮件帐户的设置)。
在调试中,我发现连接时得到空字符串。
我做错了什么?也许我应该在连接后立即向客户端发送一些内容?
最佳答案
我认为它必须是 \r\n
而不是 \\r\\n
,并且尝试刷新通过 发送给客户端的每个响应out.flush();
,但这可能不是必需的。
关于java - 通过 Thunderbird\Outlook 连接到本地主机 POP3 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43430983/