Parcourir la source

Handle server error's

Kenneth van Ewijk il y a 10 ans
Parent
commit
c2229db72a
1 fichiers modifiés avec 28 ajouts et 15 suppressions
  1. 28 15
      MusicPlayer/MusicPlayer/NetworkHandler.cs

+ 28 - 15
MusicPlayer/MusicPlayer/NetworkHandler.cs

@@ -27,23 +27,36 @@ namespace MusicPlayer
             Console.WriteLine(encodedstring);
             HttpWebRequest server =   (HttpWebRequest)WebRequest.Create(ip+":"+port+"/"+encodedstring);
             server.KeepAlive = false;
-            HttpWebResponse respond = (HttpWebResponse)server.GetResponse();
-            Stream streamResponse = respond.GetResponseStream();
-            StreamReader streamRead = new StreamReader(streamResponse);
-            Char[] readBuff = new Char[256];
-            int count = streamRead.Read(readBuff, 0, 256);
-            string data = "";
-            while (count > 0)
+            try {
+                HttpWebResponse respond = (HttpWebResponse)server.GetResponse();
+                Stream streamResponse = respond.GetResponseStream();
+                StreamReader streamRead = new StreamReader(streamResponse);
+                Char[] readBuff = new Char[256];
+                int count = streamRead.Read(readBuff, 0, 256);
+                string data = "";
+                while (count > 0)
+                {
+                    String outputData = new String(readBuff, 0, count);
+                    data += outputData;
+                    count = streamRead.Read(readBuff, 0, 256);
+                }
+                JObject o = JObject.Parse(data);
+                respond.Close();
+                streamResponse.Close();
+                streamRead.Close();
+                return o;
+            }
+            catch(WebException e)
             {
-                String outputData = new String(readBuff, 0, count);
-                data +=outputData;
-                count = streamRead.Read(readBuff, 0, 256);
+                Console.WriteLine("Server is offline");
             }
-            JObject o = JObject.Parse(data);
-            respond.Close();
-            streamResponse.Close();
-            streamRead.Close();
-            return o;
+            catch(Exception e)
+            {
+                Console.WriteLine("Er is iets fout gegaan bij het communiceren met de server.");
+            }
+
+            return null;
+            
         }
 
         public MemoryStream downloadArtwork(string album)