命名管道处理多个消息

时间:2015-04-28 21:08:04

标签: vb.net named-pipes

我有一个在工作站上运行的命名管道服务器。当服务器收到消息时,我能够处理它。问题是可以同时发送几条消息。服务器处理第一条消息但其余消息丢失。不确定如何收听多条消息。我无法将消息批处理为一条消息,因为我需要让服务器分别响应每条消息。有谁知道我怎么能做到这一点。我的服务器代码在线程中运行。

    Dim Pipe As New Pipes.NamedPipeServerStream("bellhop", Pipes.PipeDirection.InOut, -1, Pipes.PipeTransmissionMode.Message, Pipes.PipeOptions.Asynchronous)

    While BellhopExiting = False
        Pipe.WaitForConnection()

        Dim Reader As New StreamReader(Pipe)
        Dim XML As String = Reader.ReadLine

        If XML IsNot Nothing Then

            Dim Writer As New StreamWriter(Pipe)
            Writer.AutoFlush = True

            Try
                ParseXML(XML)

                'Send a success acknowledgement back to the sender.
                Writer.WriteLine("Message Delivered")

            Catch ex As Exception
                'Send a failed acknowledgement back to the sender.
                Writer.WriteLine("Failed->Bellhop->WaitForConnection->Computer: " & ComputerName & " Error: " & ex.Message)
            End Try

        End If

        Pipe.Disconnect()

    End While

0 个答案:

没有答案