2012-10-11 32 views
2

它是基於C#,.NET傳送從服務器雙到客戶

服務器是64位計算機和客戶端是32位機,雙[]數組被髮送到客戶端。 在客戶端使用此數據創建二進制文件。

是否有可能會損壞雙倍值,因爲服務器是64位,客戶端是32位。

回答

1

不,如果.NET既是發送又是接收。

這也取決於你如何發送和接收。 TCP是基於數據流的,這意味着使用單個socket.Send()發送的所有內容都可能不會與單個socket.Receive()一起收到。

+0

服務器和客戶端雙重大小是8字節嗎? – Raghav55

0

下面的文章提供其中精度由你在(32位或64位)的系統影響的例子:

MSDN - Double Structure

,提供了實施例中的提取物:

此外,算術和賦值操作的結果與 由於Double類型的精度損失,Double值可能會因平臺而略有差異。例如,分配 文字Double值的結果可能在.NET Framework的32位和64位版本 中有所不同。以下示例說明了當文字值-4.42330604244772E-305和 值爲-4.42330604244772E-305的變量分配給雙變量時的差異 。 請注意,在這種情況下,解析(字符串)方法的結果不會導致精度下降。

您可能希望將服務器上應用程序的目標平臺設置爲x86。這是我的理解(糾正我,如果我錯了),這將迫使精度相當於一臺32位機器,無論你實際運行的是什麼。

相關問題