繁体   English   中英

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

[英]Using a socket for FTP server, but output is not received by client

我正在尝试创建一个非常基本的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 Welcome to the FTP SERVER”);

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

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

对于通过控制连接进行的所有通信,文件传输协议均遵循Telnet协议的规范。 由于用于Telnet通信的语言可能是协商的选项,因此在接下来的两节中,所有引用都将是“ Telnet语言”和相应的“ Telnet行尾代码”。 当前,可以将这些表示为NVT-ASCII和<CRLF>。 不会引用Telnet协议的其他规范。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM