试图将文件从python客户端移动到c#服务器

本文关键字:移动 服务器 客户端 python 文件 | 更新日期: 2023-09-27 18:13:18

我正试图从一台PC中的c#服务器复制jpg图像到另一台PC中的python客户端。这个想法很简单,读取图像内容:

        string text = File.ReadAllText(newPath);
        //or
        byte[] text = File.ReadAllBytes(newPath);

和发送文本:

                Byte[] sendBytes = text
                networkStream.Write(sendBytes, 0, sendBytes.Length);
                networkStream.Flush();

, python客户端接收文本并立即将其保存为JPG文件。

我知道这听起来很疯狂,但它确实有效!我在另一个服务器上看到它,想知道他们是怎么做到的。

我寻找了几天的解决方案,但我仍然只收到部分数据(如果文件是7.78 MB,我只收到7.74 MB)。

我已经在这里检查了重复的帖子,我发现的只是将文件从同一语言服务器传输到同一语言客户端。

我尝试使用StreamReaderBitConverter,但我仍然只得到图像的一部分,而不是全部。

保存接收到的图像的python代码为:
    rcvdD = socketPCP.recv(512000000) #I thought that the recv Size is causing to the problem
    try:
            filename = "image.jpg"
            print "NAME:",filename
            print "'n'r'n'rNEW FILE RECIEVED!'n'r'n'r"
            f=open ('D:/Files/'+filename , 'w')
            f.write(rcvdD)
    except Exception,e:
            print e

谢谢!

试图将文件从python客户端移动到c#服务器

我不太擅长python,但我记得你应该保持recv()-ing在最后的缓冲区中附加每个块,直到你收到零长度的数据或错误,然后将你在缓冲区中得到的内容写入磁盘。