gpt4 book ai didi

java - 使用 FTP 服务器的套接字,但客户端未收到输出

转载 作者:行者123 更新时间:2023-12-01 11:38:59 25 4
gpt4 key购买 nike

我正在尝试创建一个非常基本的 Java FTP 服务器。

处理传入套接字、接受它并将其转换为客户端线程的代码似乎工作得很好,但由于某种原因,当我尝试发送欢迎消息时,数据看起来并没有到达客户端.

// outputstreamwriter for socket
out = new OutputStreamWriter(socket.getOutputStream(),"UTF-8");

// function for sending data
private void send(String s) {

try {
out.write(s,0,s.length());
out.flush();
} catch (IOException e) {
System.out.println("Exception during send(): " + e);
}
System.out.println("> " + s);

}

我在控制台中看到它正在运行并尝试发送欢迎消息,但是 FileZilla(我用来连接的 FTP 客户端)通常位于:

"Connection established, waiting for welcome message..."

===

编辑

欢迎信息非常基本:send("220 欢迎使用 FTP 服务器");

我试图只包含相关代码,因为在这里发布的代码太多了。 (监听服务器线程启动每个客户端线程等)重点是它在代码中到达这一点没有任何问题(即客户端线程带有已接受的套接字准备就绪),然后当我发送数据时 FileZilla 出现不去看它。

最佳答案

所有通信线路的末端都需要一对 CR/LF。请参阅RFC959 :

The File Transfer Protocol follows the specifications of the Telnetprotocol for all communications over the control connection. Sincethe language used for Telnet communication may be a negotiated option,all references in the next two sections will be to the "Telnetlanguage" and the corresponding "Telnet end-of-line code". Currently,one may take these to mean NVT-ASCII and <CRLF>. No otherspecifications of the Telnet protocol will be cited.

关于java - 使用 FTP 服务器的套接字,但客户端未收到输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29708642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com