Пример #1
0
        private void Awake()
        {
            _protocol                        = new WearableProxyServerProtocol();
            _protocol.KeepAlive             += OnKeepAlivePacket;
            _protocol.SensorControl         += OnSensorControlPacket;
            _protocol.GestureControl        += OnGestureControlPacket;
            _protocol.ConnectToDevice       += OnConnectToDevicePacket;
            _protocol.DisconnectFromDevice  += OnDisconnectFromDevicePacket;
            _protocol.InitiateDeviceSearch  += OnInitiateDeviceSearchPacket;
            _protocol.StopDeviceSearch      += OnStopDeviceSearchPacket;
            _protocol.QueryConnectionStatus += OnQueryConnectionStatusPacket;
            _protocol.QueryUpdateInterval   += OnQueryUpdateIntervalPacket;
            _protocol.RSSIFilterValueChange += OnRSSIFilterValueChangePacket;
            _protocol.SetUpdateInterval     += OnSetUpdateIntervalPacket;
            _protocol.QuerySensorStatus     += OnQuerySensorStatusPacket;
            _protocol.QueryGestureStatus    += OnQueryGestureStatusPacket;
            _protocol.PingQuery             += OnPingQuery;

            _listener       = new TcpListener(IPAddress.Any, _port);
            _receiveBuffer  = new byte[WearableProxyProtocolBase.SuggestedClientToServerBufferSize];
            _receiveIndex   = 0;
            _transmitBuffer = new byte[WearableProxyProtocolBase.SuggestedServerToClientBufferSize];
            _transmitIndex  = 0;

            _networkTimeout = 0.5f;

            _running = false;

            _wearableControl = WearableControl.Instance;
            _wearableControl.DeviceConnecting   += OnDeviceConnecting;
            _wearableControl.DeviceConnected    += OnDeviceConnected;
            _wearableControl.DeviceDisconnected += OnDeviceDisconnected;
            _deviceProvider = (WearableDeviceProvider)_wearableControl.GetOrCreateProvider <WearableDeviceProvider>();
        }