远程文件传输

时间:2009-09-10 15:07:05

标签: c# .net remoting

我是.net remoting的新手,我在.net上完成了一些示例应用程序remoting.i很容易 通过远程对象从服务器获取文件,但我不知道如何将文件发送到服务器端,如果可以通过接口意味着如何设计它。给我一些建议和链接,这将对我有用开车朝正确的方向

2 个答案:

答案 0 :(得分:1)

您必须实现此行为。客户端读取文件并发送字节。服务器接收字节并写入文件。还有更多内容,但这是您需要做的基础知识。

答案 1 :(得分:1)

要发送文件,您可以重复调用服务器上的方法,以便按块提供文件块。像这样:

static int CHUNK_SIZE = 4096;

// open the file
FileStream stream = File.OpenRead("path\to\file");

// send by chunks
byte[] data = new byte[CHUNK_SIZE];
int numBytesRead = CHUNK_SIZE;
while ((numBytesRead = stream.Read(data, 0, CHUNK_SIZE)) > 0)
{
    // resize the array if we read less than requested
    if (numBytesRead < CHUNK_SIZE)
        Array.Resize(data, numBytesRead);

    // pass the chunk to the server
    server.GiveNextChunk(data);
    // re-init the array so it's back to the original size and cleared out.
    data = new byte[CHUNK_SIZE];
}

// an example of how to let the server know the file is done so it can close
// the receiving stream on its end.
server.GiveNextChunk(null);

// close our stream too
stream.Close();