0

我正在用 C# 编写自己的 FTP 服务器。到目前为止一切正常。现在,根据 FTP 的需要,它使用秒通道进行数据连接。它在那里发送文件列表,发送一个/更多文件并接受文件。由于文件列表正常工作,我现在在下载文件时遇到问题。几个 FTP 客户端只接收和保存一些字节。当我得到一个存储日志的文件时,它只会获取第一行的第一个字符。因此,原始数据根本不起作用。PS:在RETR文件之前,客户端要求SIZE,服务器会回答。

我有这种使用数据连接发送文件的代码和平。

public void SendFile(String strFilename) {
    if(!m_bConnected) 
        Console.WriteLine("Waiting for connection on DataConnection");

    while(!m_bConnected) {
        Thread.Sleep(100);
    } // while end

    byte[] btFileContent = File.ReadAllBytes(strFilename);
    int iContentLen = btFileContent.Length;
    sw.Write(btFileContent, 0, iContentLen);
    sw.Close();
}

我做了一些互联网研究。这与 BINARY/ASCII 模式有关吗?在将文件发送到 FTP 客户端时,我还需要查看其他一些规则吗?你对如何解决这个问题有一些想法吗?

现在谢谢你,

德齐奥

4

0 回答 0