【发布时间】:2014-06-04 12:51:37
【问题描述】:
我正在开发一些通过 TCP 监听来自另一个程序的事件的软件。
事件以字符串形式出现,格式如下:“value1;value2;value3” 问题是有时 value1 中的单个字符会被读取到上一个事件中,所以我得到如下内容:
值1;值2;值3v
值1;值2;值3
如何让它知道每条消息的开始和结束位置?
代码如下:
Dim client As New TcpClient()
Sub listen()
Dim networkStream As Stream = client.GetStream()
While True
Dim bytes(client.ReceiveBufferSize) As Byte
Dim size As Integer = 0
size = networkStream.Read(bytes, 0, CInt(client.ReceiveBufferSize))
'process event here
End While
End Sub
这一切都是在它自己的线程上完成的。
【问题讨论】:
-
CInt(client.ReceiveBufferSize) -1:你的意思是这样吗?