将双重从服务器传输到客户端

时间:2012-10-11 06:08:38

标签: c#

它基于C#,. net

服务器是64位机器,客户端是32位机器,双[]数组被发送到客户端。 在客户端中,使用此数据创建二进制文件。

doule值是否有可能被破坏,因为服务器是64位而客户端是32位。

2 个答案:

答案 0 :(得分:1)

不,不是.NET同时发送和接收。

这还取决于您的发送和接收方式。 TCP是基于流的,这意味着单个socket.Send()可能无法接收通过单个socket.Receive()发送的所有内容。

答案 1 :(得分:0)

以下文章提供了一个示例,其中精度受您所在系统(32位或64位)的影响:

MSDN - Double Structure

提供示例的摘录:

  

另外,算术和赋值操作的结果   由于丢失,双值可能因平台而略有不同   Double类型的精度。例如,分配的结果   literal Double值可能在32位和64位版本中有所不同   .NET Framework。以下示例说明了这种差异   当字面值-4.42330604244772E-305和一个变量   值为-4.42330604244772E-305分配给Double变量。   请注意,在这种情况下,Parse(String)方法的结果不会   失去精确度。

您可能希望将服务器上应用程序的目标平台设置为x86。这是我的理解(如果我错了,请纠正我)这将迫使精度等同于32位机器,无论你实际运行的是什么。