我有一个TCP侦听器,用于侦听来自我们电话系统的端口上的流量。
我设置了套接字连接时它会保持返回数据。我有一个名为returndata
的字符串,有时它会返回以下内容:
004 HELD 300 8817feb0-a4d8-4a04-8d6b-b4f26b282da4 2ddfe42f-8c42-4373-99e6-8baeaad9bb6f I 300 53 95e10b5e-2c52-4eff-b43b-5f761f23f35c
但有时候,根据流量的数量,它可以返回:
002 VERS 3
003 HEAD Device Connection Call Direction Caller Called Trunk Channel EquipmentId UserId
004 HELD 300 8817feb0-a4d8-4a04-8d6b-b4f26b282da4 2ddfe42f-8c42-4373-99e6-8baeaad9bb6f I 300 53 95e10b5e-2c52-4eff-b43b-5f761f23f35c
005 CONN 265 349c9a1b-2e29-4037-9361-cb6c7a384f96 bb902ab8-c356-4cb0-aa65-0c10da857cc1 O 265 07710627585 45 95e10b5e-2c52-4eff-b43b-5f761f23f35c
006 RING 453 95071123-254f-4e59-a6b2-c8a409d45fd1 5c448dec-ffe1-4862-8a89-9df6636410e2 I 01223894462 1126 50 95e10b5e-2c52-4eff-b43b-5f761f23f35c
我需要解析字符串,以便返回每一行(一行由开头定义(001,002,003等) - 为了您的信息,在循环回来之前最多可以达到9999。
我需要将每个解析为字符串或数组,以便我可以将它们连接到我的VB.NET Enqueue(Queue)。
每条'线'需要分开。
答案 0 :(得分:0)
管理得到一个解决方案,这些行是流中的新行,所以我刚刚做了:
ParsedData = returndata.Split(New String() {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries)
For Each s As String In ParsedData
If CheckForAlphaCharacters(s) = True Then
ReturnDataQueue.Enqueue(s)
End If
Next s
感谢您的帮助!
JML