Пример #1
0
    public void ReceiveCallback_RemoteSurface(IAsyncResult ar)
    {
        Byte[] receiveBytes = _udpClient_RemoteSurface.EndReceive(ar, ref _anyIP_RemoteSurface);
        string result       = System.Text.Encoding.UTF8.GetString(receiveBytes);

        string[] trackermessage = result.Split(MessageSeparators.L0);
        result = trackermessage[0] + MessageSeparators.L0 + trackermessage[1];
        Sensor[] sensors = _retrieveSensors(trackermessage[2]);
        foreach (Sensor s in sensors)
        {
            Debug.Log("_REMOTE_SENSOR______________________________________ " + s.id);
        }


        if (SurfaceMessage.isMessage(result))
        {
            SurfaceRectangle s = new SurfaceRectangle(result);
            Debug.Log("SURFACE_________________________________________ " + s.ToString());
            s.sensors = sensors;
            if (_main != null)
            {
                _main.setRemoteSurface(s);
            }
            if (_calibration != null)
            {
                _calibration.setRemoteSurface(s);
            }
            _udpClient_RemoteSurface.Close();
        }
        else
        {
            _udpClient_RemoteSurface.BeginReceive(new AsyncCallback(this.ReceiveCallback_RemoteSurface), null);
        }
    }
    public void ReceiveCallback_RemoteSurface(IAsyncResult ar)
    {
        Byte[] receiveBytes = _udpClient_RemoteSurface.EndReceive(ar, ref _anyIP_RemoteSurface);
        string result       = System.Text.Encoding.UTF8.GetString(receiveBytes);

        _log.WriteLine("[SurfaceRequestListener] Remote Surface Received");

        if (SurfaceMessage.isMessage(result))
        {
            _main.setRemoteSurface(new SurfaceRectangle(result));
            _udpClient_RemoteSurface.Close();
        }
        else
        {
            _udpClient_RemoteSurface.BeginReceive(new AsyncCallback(this.ReceiveCallback_RemoteSurface), null);
        }
    }
Пример #3
0
    public void ReceiveCallback_LocalSurface(IAsyncResult ar)
    {
        Byte[] receiveBytes = _udpClient_LocalSurface.EndReceive(ar, ref _anyIP_LocalSurface);
        string result       = System.Text.Encoding.UTF8.GetString(receiveBytes);

        if (SurfaceMessage.isMessage(result))
        {
            _surface = new SurfaceRectangle(result);

            Debug.Log(_surface.ToString());

            _udpClient_LocalSurface.Close();
        }
        else
        {
            _udpClient_LocalSurface.BeginReceive(new AsyncCallback(this.ReceiveCallback_LocalSurface), null);
        }
    }
Пример #4
0
    public void ReceiveCallback_RemoteSurface(IAsyncResult ar)
    {
        Byte[] receiveBytes = _udpClient_RemoteSurface.EndReceive(ar, ref _anyIP_RemoteSurface);
        string result       = System.Text.Encoding.UTF8.GetString(receiveBytes);

        string[] trackermessage = result.Split(MessageSeparators.L0);
        result = trackermessage[0] + MessageSeparators.L0 + trackermessage[1];
        Sensor[] sensors = _retrieveSensors(trackermessage[2]);
        if (SurfaceMessage.isMessage(result))
        {
            SurfaceRectangle s = new SurfaceRectangle(result);
            s.sensors = sensors;
            _main.setRemoteSurface(s);
            _udpClient_RemoteSurface.Close();
        }
        else
        {
            _udpClient_RemoteSurface.BeginReceive(new AsyncCallback(this.ReceiveCallback_RemoteSurface), null);
        }
    }