81 lines
1.3 KiB
C#
81 lines
1.3 KiB
C#
using System;
|
|
|
|
using AppModule.InterProcessComm;
|
|
using AppModule.NamedPipes;
|
|
|
|
namespace Novell.CASA.MiCasa.Communication
|
|
{
|
|
/// <summary>
|
|
/// Summary description for WinIPCClientChannel.
|
|
/// </summary>
|
|
public class WinIPCClientChannel : ClientChannel
|
|
{
|
|
|
|
private static IInterProcessConnection clientConnection = null;
|
|
private static string XTIER_RPC_PIPE = "SS_RPC_PIPE";
|
|
|
|
public WinIPCClientChannel()
|
|
{
|
|
|
|
}
|
|
|
|
public void Open()
|
|
{
|
|
if (clientConnection == null)
|
|
{
|
|
clientConnection = new ClientPipeConnection(XTIER_RPC_PIPE, ".");
|
|
clientConnection.Connect();
|
|
}
|
|
|
|
}
|
|
|
|
public int Read(byte[] buf)
|
|
{
|
|
buf = Read();
|
|
|
|
if (buf != null)
|
|
return 0;
|
|
else
|
|
return -1;
|
|
}
|
|
|
|
public byte[] Read()
|
|
{
|
|
byte[] returnBuffer;
|
|
|
|
try
|
|
{
|
|
returnBuffer = clientConnection.ReadBytes();
|
|
return returnBuffer;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Console.WriteLine(e.ToString());
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public int Write(byte[] buf)
|
|
{
|
|
try
|
|
{
|
|
clientConnection.WriteBytes(buf);
|
|
return 0;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Console.WriteLine(e.ToString());
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
public void Close()
|
|
{
|
|
|
|
//clientConnection.Close();
|
|
//clientConnection.Dispose();
|
|
}
|
|
|
|
}
|
|
}
|