2012-03-14 11 views
0

私は、TCP接続からデータを受信し、名前付きパイプを通じてWebサービスにすぐに同じデータを送信するようなWindowsサービスを提供しています。誰も私にどのように私はパイプに1つの時間を接続し、すべての着信接続に同じパイプを使用するようにパイプを設定することができます示唆することができます。NamedPipeClientStream one time connection

これは、Windowsサービスの私のコードの一部です:

pipeStream = new NamedPipeClientStream(".", pipename, PipeDirection.Out); 
    while (true) 
     { 
      byte[] data = new byte[100]; 
      int recv = newTCP.Receive(data, ref tmpRemote); 
      try 
      { 
       pipeStream.Connect(3); 
       pipeStream.Write(data,0,recv); 
     } 
+0

WHHあなたは 'pipeStream.Connect(3)を移動しないでください;'どこの場所に'NamedPipeClientStream'を作成します –

+0

パイプ宣言を含むクラスに関するもう少し詳しく説明します。 –

答えて

0

移動pipeStream.Connect(3);しばらく前(真)。 これで、執筆に何度も何度も使用できるストリームが作成されました。すべてのあなたは、データがすぐに行きたい場合は、flushメソッドを呼び出すことを確認して、書き込み後に今 、:

pipeStream = new NamedPipeClientStream(".", pipename, PipeDirection.Out); 
pipeStrea.Connect(3); 
while(true) 
{ 
    ... // Get your TCP data 
    pipeStream.Write(data,0,recv); 
    pipeStream.Flush();