private static void EnsureConnected() { if (ServerEndpoint == null || ServiceName == null) { return; } if (IsConnected) { return; } IDictionary prop = new Hashtable(); prop["port"] = ServerEndpoint.Port; prop["machineName"] = ServerEndpoint.Address.ToString(); prop["priority"] = 100; prop["timeout"] = (uint)1; prop["retryCount"] = 0; prop["useIpAddress"] = 1; TcpClientChannel chan = null; try { chan = new TcpClientChannel(); } catch { } try { if (chan != null) { ChannelServices.RegisterChannel(chan, false); } } catch { } try { RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off; } catch { } try { // Create an instance of the remote object _server = (ExtractorServer)Activator.GetObject( typeof(ExtractorServer), "tcp://" + ServerEndpoint.Address + ":" + ServerEndpoint.Port.ToString(CultureInfo.InvariantCulture) + "/" + ServiceName); } catch { } }
public void ProcessPendingMessages() { var pendingMessage = ExtractorServer.GetNextPendingMessageToServerFromClient(); while (pendingMessage != null) { var messageType = pendingMessage.MessageType; switch (messageType) { case MessageType.ToggleNightMode: _inputEvents.NightVisionModeToggled.Handle(false); break; case MessageType.AirspeedIndexIncrease: _inputEvents.AirspeedIndexIncreasedByOne.Handle(false); break; case MessageType.AirspeedIndexDecrease: _inputEvents.AirspeedIndexDecreasedByOne.Handle(false); break; case MessageType.EHSILeftKnobIncrease: _inputEvents.EHSILeftKnobIncreasedByOne.Handle(false); break; case MessageType.EHSILeftKnobDecrease: _inputEvents.EHSILeftKnobDecreasedByOne.Handle(false); break; case MessageType.EHSIRightKnobIncrease: _inputEvents.EHSIRightKnobIncreasedByOne.Handle(false); break; case MessageType.EHSIRightKnobDecrease: _inputEvents.EHSIRightKnobDecreasedByOne.Handle(false); break; case MessageType.EHSIRightKnobDepressed: _inputEvents.EHSIRightKnobDepressed.Handle(false); break; case MessageType.EHSIRightKnobReleased: _inputEvents.EHSIRightKnobReleased.Handle(false); break; case MessageType.EHSIMenuButtonDepressed: _inputEvents.EHSIMenuButtonDepressed.Handle(false); break; case MessageType.AccelerometerIsReset: _inputEvents.AccelerometerReset.Handle(false); break; case MessageType.ISISBrightButtonDepressed: _inputEvents.ISISBrightButtonDepressed.Handle(false); break; case MessageType.ISISStandardButtonDepressed: _inputEvents.ISISStandardButtonDepressed.Handle(false); break; case MessageType.AzimuthIndicatorBrightnessDecrease: _inputEvents.AzimuthIndicatorBrightnessDecreased.Handle(false); break; case MessageType.AzimuthIndicatorBrightnessIncrease: _inputEvents.AzimuthIndicatorBrightnessIncreased.Handle(false); break; } pendingMessage = ExtractorServer.GetNextPendingMessageToServerFromClient(); } }