Ejemplo n.º 1
0
        async void Reader(NeoSocket neoSocket, AsyncQueue <byte[]> queue)
        {
            try
            {
                while (neoSocket.Connected)
                {
                    var webRequest = await WebRequest.GetAsync(neoSocket);

                    string localPath = webRequest.RequestUri.LocalPath;
                    switch (localPath)
                    {
                    case "/": SendIndex(queue); break;

                    case "/NeoRemote.apk": SendAPK(queue); break;

                    case "/favicon.ico": SendFavicon(queue); break;

                    case "/RunNeoRemote": await RunNeoRemote(neoSocket, queue); break;

                    default: throw new Exception("Invalid query");
                    }
                }
            }
            catch { }
            neoSocket.Close();
            queue.SetFinished();
        }
Ejemplo n.º 2
0
 async void Writer(NeoSocket neoSocket, AsyncQueue <byte[]> queue)
 {
     try
     {
         while (await queue.HasItemsAsync())
         {
             var buffer = queue.Dequeue();
             await neoSocket.WriteAsync(buffer, 0, buffer.Length);
         }
     }
     catch { queue.SetFinished(); }
     finally { neoSocket.Close(); }
 }