2010-07-05 18 views
2

在C#中連續發送鼠標位置到另一臺計算機的最佳方式是什麼?連續發送鼠標位置到另一臺機器

到目前爲止,我使用TCP套接字進行傳輸。我得到MousePositionToString(),將其轉換爲byte[]併發送該字節數組。在接收端,我將這些字節附加到一個StringBuilder中,解析它並構建一個新的點。至少它的工作原理:-)

我是.net新手(儘管我知道一些Java),我認爲還有更好的方法。

能以某種(優雅)的方式序列化/反序列化一個System.Drawing.Point?一個人可以發送這個序列化的對象到遠程機器嗎?如果是這樣,怎麼樣?

問候
邁克
[;-)

回答

1

System.Drawing.Point已經標記爲<Serializable>,所以如果你願意,你可以使用.NET的built in serialization

+0

是的。那麼用一些任意大小的字節數組實例化一個BinaryFormatter和一個MemoryStream以反覆發送點字節是一個好主意嗎? (當然,重新使用格式化程序) – DerMike 2010-07-05 19:00:31

+0

@DerMike,只要您立即計劃發送更大的結構。我認爲我與Jon Skeet就此而言,你總是可以開始用二進制編寫器將它們編寫爲整數,然後在開始具有完整結構(時間戳,鍵盤狀態等)時轉爲完整序列化。 – 2010-07-05 19:12:52

2

不要用任何序列化或字符串煩:剛剛發下來對座標爲整數。您可以使用BitConverter將整數轉換爲字節 - 或僅使用BinaryWriter進行寫入,使用BinaryReader進行讀取。

相關問題