簡體   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