gpt4 book ai didi

c# - C#套接字编程问题[接收文件具有不同的哈希值]

转载 作者:行者123 更新时间:2023-12-03 11:58:35 24 4
gpt4 key购买 nike

我有一个套接字程序,该程序将从套接字客户端发送文件套接字服务器,并在服务器上创建文件

将文件发送到服务器没有问题 ... [未损坏]

但,

我的代码是:(服务器监听和接收数据)

this.buffer = new byte[1000000];
this.DataSocket.Receive(this.buffer, this.buffer.Length, SocketFlags.None);

因此,总是从 客户端接收到 服务器1000000字节,该服务器中创建的文件始终具有固定大小值..也大于原始文件。

最模糊的事情是文件 MD5哈希值是不同的...因为我认为这个固定缓冲区

我的问题是我如何无法使用相同的 MD5哈希将文件发送到 服务器

最佳答案

我认为这可能是因为MD5是使用您创建的整个缓冲区开始创建的。如果数据只有50000字节长,但缓冲区是1000000,我认为它们会创建不同的哈希值。

如果我没有记错的话,receive方法会返回一个int值,该值应该是您接收到的数据的大小。您可以创建一个新的字节数组,然后将接收到的数据复制到与原始文件大小完全相同的数组中。

希望这可以帮助。

关于c# - C#套接字编程问题[接收文件具有不同的哈希值],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6412953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com