コード例 #1
0
        public void Stop()
        {
            NativeIPCServerImpl.StopLoop(serverThread);

            NativeIPCServerImpl.Release(serverHandle);
            serverHandle = IntPtr.Zero;
        }
コード例 #2
0
        public void Start()
        {
            serverHandle = NativeIPCServerImpl.CreateIPCServer("org.cloudveil.filterserviceprovider", onIncomingMessage, onClientConnected, onClientDisconnected);

            if (serverHandle == IntPtr.Zero)
            {
                throw new Exception("Failed to initialize global IPC Server");
            }

            serverThread = NativeIPCServerImpl.StartLoop(serverHandle);
        }
コード例 #3
0
        public void PushMessage(BaseMessage msg)
        {
            IFormatter formatter = new BinaryFormatter();

            using (MemoryStream stream = new MemoryStream())
            {
                formatter.Serialize(stream, msg);

                byte[] arr = stream.ToArray();

                NativeIPCServerImpl.SendToAll(serverHandle, arr, arr.Length);
            }
        }