1
SyncLock _client.GetStream
Dim bArray() As Byte
Dim bWriter As New BinaryWriter(_client.GetStream)
Dim bf As New BinaryFormatter
Dim mStream As New MemoryStream
bf.Serialize(mStream, dSet)
'Send tagIdentifier
bWriter.Write(bTag)
'Send the Object length
bWriter.Write(CInt(mStream.ToArray.Length))
'It's not null, value of 3024
Console.WriteLine("Mstream : " & mStream.ToArray.Length)
'Initialize the BinaryReader
Dim bReader As New BinaryReader(mStream)
Do
bArray = bReader.ReadBytes(1024)
''''''''''''''bArray stay at 0'''''''''''''''
bWriter.Write(bArray)
Loop While bArray.Length = 1024
bWriter.Flush()
End SyncLock
그래서이 코드를 사용하기 위해 노력하고있는 것은 직렬화 된 데이터 집합을 보내는 것입니다. MemoryStream의 BinaryReader가 비워 두십시오.
그래서 내가 MemoryStream을에 직렬화 된 DSET을 넣어또한 BinaryWritter 함께 보낼 바이트의 배열로 변환의 BinaryReader를 포인터는 mSteam가 3024의 값이 있더라도 0에서 머물 것으로 보인다
가 커서의 위치보다가 마지막에 머물 어딘가에 지정, 또는 내가 그것을 알고 생각 해요 되었습니까? – Mokmeuh
"일반 지식"이라고 부릅니다. 일반적으로 스트림의 위치는 명시 적으로 위치를 변경하거나 스트림을 다시 닫지 않는 한 마지막으로 작성한 위치 바로 다음에 있습니다. –
정보 및 답변에 감사드립니다. – Mokmeuh