コード例 #1
0
ファイル: IPCProcess.cs プロジェクト: mkbiltek2019/StUtil
        public IPCProcess(ICommunicationInitialisation initArgs, ICommunicationServer server, ICommunicationClient client)
        {
            this.initArgs = initArgs;
            this.client   = client;
            this.server   = server;
            string[] args = Environment.GetCommandLineArgs();
            string   arg;

            if (args.Length == 1)
            {
                arg = args[0];
            }
            else
            {
                arg = args[1];
            }
            if (arg.StartsWith("$IPCParent{"))
            {
                IsServer             = false;
                this.ParentProcessId = int.Parse(arg.Substring(11, arg.Length - 12));
            }
            else
            {
                IsServer = true;
            }
        }
コード例 #2
0
ファイル: IPCProcess.cs プロジェクト: TGOSeraph/StUtil
 public IPCProcess(ICommunicationInitialisation initArgs, ICommunicationServer server, ICommunicationClient client)
 {
     this.initArgs = initArgs;
     this.client = client;
     this.server = server;
     string[] args = Environment.GetCommandLineArgs();
     string arg;
     if (args.Length == 1)
     {
         arg = args[0];
     }
     else
     {
         arg = args[1];
     }
     if (arg.StartsWith("$IPCParent{"))
     {
         IsServer = false;
         this.ParentProcessId = int.Parse(arg.Substring(11, arg.Length - 12));
     }
     else
     {
         IsServer = true;
     }
 }
コード例 #3
0
 public virtual void Start(ICommunicationInitialisation initArgs)
 {
     if (listening)
     {
         return;
     }
     connections = new List<ICommunicationConnection>();
     OnStart(initArgs);
     while (!_stop)
     {
         ICommunicationConnection conn = WaitForConnection();
         connections.Add(conn);
         conn.Disconnected += conn_Disconnected;
         if (ShouldFireConnectionReceived())
         {
             OnConnectionReceived(conn);
         }
         if (!MultipleStreams) break;
     }
     Stopping = false;
 }
コード例 #4
0
 public virtual void Start(ICommunicationInitialisation initArgs)
 {
     if (listening)
     {
         return;
     }
     connections = new List <ICommunicationConnection>();
     OnStart(initArgs);
     while (!_stop)
     {
         ICommunicationConnection conn = WaitForConnection();
         connections.Add(conn);
         conn.Disconnected += conn_Disconnected;
         if (ShouldFireConnectionReceived())
         {
             OnConnectionReceived(conn);
         }
         if (!MultipleStreams)
         {
             break;
         }
     }
     Stopping = false;
 }
コード例 #5
0
 protected virtual void OnStart(ICommunicationInitialisation initArgs)
 {
 }
コード例 #6
0
 protected override void OnStart(ICommunicationInitialisation initArgs)
 {
     base.OnStart(initArgs);
     server = new NamedPipeServerStream(((NamedPipeInitialisation)initArgs).PipeId);
 }
コード例 #7
0
ファイル: NamedPipeServer.cs プロジェクト: TGOSeraph/StUtil
 protected override void OnStart(ICommunicationInitialisation initArgs)
 {
     base.OnStart(initArgs);
     server = new NamedPipeServerStream(((NamedPipeInitialisation)initArgs).PipeId);
 }
コード例 #8
0
ファイル: NamedPipeClient.cs プロジェクト: TGOSeraph/StUtil
 public ICommunicationConnection Connect(ICommunicationInitialisation initArgs)
 {
     System.IO.Pipes.NamedPipeClientStream client = new System.IO.Pipes.NamedPipeClientStream(((NamedPipeInitialisation)initArgs).PipeId);
     client.Connect();
     return new NamedPipeConnection(client);
 }
コード例 #9
0
 public ICommunicationConnection Connect(ICommunicationInitialisation initArgs)
 {
     System.IO.Pipes.NamedPipeClientStream client = new System.IO.Pipes.NamedPipeClientStream(((NamedPipeInitialisation)initArgs).PipeId);
     client.Connect();
     return(new NamedPipeConnection(client));
 }
コード例 #10
0
 protected virtual void OnStart(ICommunicationInitialisation initArgs)
 {
 }