Ejemplo n.º 1
0
 private void OnChatWindowClosed(object sender, EventArgs e)
 {
     try
     {
         NamedPipeStream?.Dispose();
     }
     catch { }
 }
Ejemplo n.º 2
0
 public static void Close()
 {
     servicePipe = null;
     running     = false;
     ThreadHelper.CancelSynchronousIo(threadID);
     serviceReceiver.Dispose();
     service.Close();
 }
        public void SetListener(string pipeName, string server)
        {
            listenerPipe   = NamedPipeStream.Open(pipeName, server, NamedPipeStream.PipeDirection.InOut);
            listenerSender = new StreamServiceSender <IKinectListener>(listenerPipe);
            listener       = listenerSender.Service;

            listener.OnLogMessageReceived($"Connected listener from {pipeName}@{server}");
        }
Ejemplo n.º 4
0
 public PipeService(T service, string name)
 {
     this.service  = service;
     pipeStream    = NamedPipeStream.Create(name, NamedPipeStream.PipeDirection.InOut, securityDescriptor: "D:(A;OICI;GA;;;WD)");
     messageThread = new Thread(RunInternal);
     Methods       = new Dictionary <string, MethodData>();
     InitService();
 }
Ejemplo n.º 5
0
 private void ChatWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
 {
     try
     {
         NamedPipeStream?.Disconnect();
         NamedPipeStream?.Dispose();
     }
     catch { }
 }
Ejemplo n.º 6
0
 private void ChatWindow_Closing(object sender, EventArgs e)
 {
     try
     {
         NamedPipeStream?.Disconnect();
         NamedPipeStream?.Dispose();
     }
     catch { }
 }
Ejemplo n.º 7
0
        public static void InitializeConnection()
        {
            currentPath = Path.GetDirectoryName(typeof(Exports).Assembly.Location);
            AppDomain.CurrentDomain.AssemblyResolve += ResolveLibraries;

            service         = new KinectService();
            servicePipe     = NamedPipeStream.Create(SERVICE_NAME, NamedPipeStream.PipeDirection.InOut);
            serviceReceiver = new StreamServiceReceiver <IKinectService>(service, servicePipe);
            thread          = new Thread(StartPipeHandler);
            thread.Start();
        }
        public PipeEventEmitter(string name)
        {
            pipeStream     = NamedPipeStream.Create(name, NamedPipeStream.PipeDirection.InOut, securityDescriptor: "D:(A;OICI;GA;;;WD)");
            bw             = new BinaryWriter(pipeStream);
            eventCaches    = new List <Dictionary <string, object> > [2];
            eventCaches[0] = new List <Dictionary <string, object> >();
            eventCaches[1] = new List <Dictionary <string, object> >();

            waitForConnectionEvent  = new AutoResetEvent(false);
            waitForConnectionThread = new Thread(RunWaitForConnection);
            waiterRunning           = true;
            waitForConnectionThread.Start();

            IsConnected = false;
            WaitForConnection();
        }
Ejemplo n.º 9
0
        void InitializeService()
        {
            Log("Initializing services");

            InitializeConnection();

            Log("Done!");

            listener           = new KinectListener();
            captureServicePipe = NamedPipeStream.Create(LISTENER_NAME, NamedPipeStream.PipeDirection.InOut);
            listenerReceiver   = new StreamServiceReceiver <IKinectListener>(listener, captureServicePipe);
            runnerThread       = new Thread(StartPipeHandler);
            runnerThread.Start();

            listener.Initialize();

            Log("Sending connection request");
            listener.KinectService.SetListener(LISTENER_NAME, ".");
            Log("Connected!");
        }
        private void InitNativeGUI()
        {
            var libPath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),
                                       "RuntimeUnityEditor.UI.dll");

            Logger.Log(LogLevel.Info, $"Lib path: {libPath}");
            var lib = NativeUtils.LoadNativeLibrary(libPath);

            if (lib == null)
            {
                Logger.Log(LogLevel.Error, "No UI library found!");
                return;
            }

            ShowGUI = lib.GetFunctionAsDelegate <ShowGUIDelegate>(nameof(ShowGUI));

            receivePipeStream = NamedPipeStream.Create("RuntimeUnityEditor_Service", NamedPipeStream.PipeDirection.InOut, securityDescriptor: "D:(A;OICI;GA;;;WD)");
            serviceReceiver   = new StreamServiceReceiver <IRuntimeUnityEditorService>(new Service(), receivePipeStream);
            receiveThread     = new Thread(ReceiveLoop);
            receiveThread.Start();
        }
Ejemplo n.º 11
0
        private bool CreatePipeStream(IPAddress ip, string hostname)
        {
            string pipeName;

            if (hostname.ToLower().Equals("localhost"))
            {
                pipeName = @"\\.\pipe\MySql";
            }
            else
            {
                pipeName = String.Format(@"\\{0}\pipe\MySql", ip.ToString());
            }

            try
            {
                stream = new NamedPipeStream(pipeName, FileAccess.ReadWrite);
                return(true);
            }
            catch (Exception ex)
            {
                baseException = ex;
                return(false);
            }
        }
Ejemplo n.º 12
0
        public static void InitializeConnection()
        {
            if (isInitialized)
            {
                return;
            }
            servicePipe   = NamedPipeStream.Open("RuntimeUnityEditor_Service", NamedPipeStream.PipeDirection.InOut);
            serviceSender = new StreamServiceSender <IRuntimeUnityEditorService>(servicePipe);
            Service       = serviceSender.Service;
            isInitialized = true;

            //if (serviceSender != null)
            //    return "";

            //try
            //{

            //    return "";
            //}
            //catch (Exception e)
            //{
            //    return e.Message;
            //}
        }
 public void Initialize()
 {
     servicePipe         = NamedPipeStream.Open(SERVICE_NAME, NamedPipeStream.PipeDirection.InOut);
     kinectServiceSender = new StreamServiceSender <IKinectService>(servicePipe);
     KinectService       = kinectServiceSender.Service;
 }
Ejemplo n.º 14
0
 /// <summary>
 /// Connects to update service (opens named pipe stream).
 /// </summary>
 /// <returns>True on success, false on failure.</returns>
 private bool doConnectToService()
 {
     DateTime startTime = DateTime.Now;
     Exception connectEx = null;
     while (DateTime.Now.Subtract(startTime).TotalMilliseconds < Magic.ServicePipeTimeoutMsec)
     {
         try
         {
             pstream = new NamedPipeStream(@"\\.\pipe\" + Magic.ServiceShortName, FileAccess.ReadWrite);
             break;
         }
         catch (Exception ex)
         {
             connectEx = ex;
             FileLogger.Instance.LogInfo("Failed to connect to named pipe; retrying in 0.5 sec.");
         }
         Thread.Sleep(500);
     }
     if (pstream == null)
     {
         FileLogger.Instance.LogError(connectEx, "Gave up trying to connect to named pipe; last exception below.");
         return false;
     }
     return true;
 }