[.NET] Socket BinaryFormatter MemoryStream
應用程式專案
目的:
送SQL查詢字串給server,收回傳序列化的DataTable再反序列化
client 接收及反序列化程式碼:
Case "DATATABLE" ' 承接回傳的DB查詢
Dim i = clientSocket.Receive(byteData)
Dim bf As New BinaryFormatter()
Dim ms As New MemoryStream(65534)
ms.Write(byteData, 0, i)
ms.Flush()
Thread.Sleep(200)
While i = 8192
i = clientSocket.Receive(byteData)
If i > 0 Then
ms.Write(byteData, 0, i)
ms.Flush()
Thread.Sleep(200)
End If
End While
ms.Seek(0, SeekOrigin.Begin)
resultDataTable = bf.Deserialize(ms)
請教各位前輩
只要我不加上Thread.Sleep讓MemoryStream在write後等待一段時間
最後在反序列化的時候就會出錯 在完成剖析之前已達資料流末端
這是為什麼?
小弟百思不得其解
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.224.207
※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1446139010.A.91D.html
→
10/30 01:23, , 1F
10/30 01:23, 1F
※ 編輯: a0tim (123.192.224.207), 10/30/2015 01:27:07
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章