Как сохранить изображение из байта UDPClient () в C # Xamarin - PullRequest
0 голосов
/ 02 июня 2019

У меня есть сервер UDP, который получает данные с моей камеры. Когда я пытаюсь отобразить массив байтов в виде изображения на моем устройстве Adnroid / IOS, я сталкиваюсь с ошибкой «Данные изображения были неверны».

пространство имен SimpleContact.Dron {

class Stream
{

    public async void test_stream()
    { 
        UdpClient receiver = new UdpClient(11111);
        IPEndPoint hostEP = new IPEndPoint(IPAddress.Parse("192.168.10.1"),0);
        receiver.Connect(hostEP);

        IPEndPoint ep = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0);
        int i = 0;
        string fileName = "car_pic";


        while (true)
        {

            if (receiver.Available > 0)
            {

                 if( condition){

                   Debug.Write("Packet Received");
                   byte[] data = receiver.Receive(ref ep);

                   string picPath = Path.Combine(App.FolderPath, fileName + i.ToString() + ".jpg");

                    using (FileStream writer = File.Create(picPath))
                    {
                        writer.Write(data, 0 , data.Length);

                    }

                    MemoryStream stream = new MemoryStream(data);

                    DronController.displayImage.Source=        ImageSource.FromStream(()=>stream);
                   }


            }

    }
 }

}

...