看板 Visual_Basic 關於我們 聯絡資訊
應用程式專案 目的: 送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
a0tim: ps. 不等待的話,最後的ms.length會少 10/30 01:23
※ 編輯: a0tim (123.192.224.207), 10/30/2015 01:27:07