static void Adapter_OnHttpReceivedPacketEvent(HttpRequest request)
 {
     ++_updateCount;
     byte[] webPage = Encoding.UTF8.GetBytes("<html><head><meta http-equiv=\"refresh\" content=\"5\"></head><body><font face=\"verdana\"><h1>mip - A Managed TCP/IP Stack running on HERO Developement Board.</h1><p>for .NET MicroFramework</p><p>This is just the beginning :) " + _updateCount + "</p><p><a href=\"http://mip.codeplex.com\">Visit us at Codeplex!</a></p></font></body></html>");
     var s = new System.IO.MemoryStream(webPage);  // substitute a FileStream here when reading from MicroSD
     request.SendResponse(new HttpResponse(s));
 }
Esempio n. 2
0
        private static void OnHttpReceivedPacketEvent(HttpRequest request)
        {
            lock (SyncRoot)
            {
                int filePos = request.Path.LastIndexOf('/');
                string file = filePos == -1 ? String.Empty : request.Path.Substring(filePos + 1);

                int queryPos = file.LastIndexOf('?');
                string query = queryPos == -1 ? String.Empty : file.Substring(queryPos + 1);

                if (queryPos != -1)
                    file = file.Substring(0, queryPos);

                if (file == "led.svc")
                {
                    var led = _leds[query] as OutputPort;
                    if (led != null)
                        led.Write(!led.Read());

                    var sb = new StringBuilder("<html><head></head><body>");
                    foreach (string key in _leds.Keys)
                        sb.Append("<a href=\"/led.svc?" + key + "\">" + key + "</a> ");
                    sb.Append("</body></html>");

                    byte[] responseBuffer = Encoding.UTF8.GetBytes(sb.ToString());
                    using (var responseStream = new MemoryStream(responseBuffer))
                    {
                        request.SendResponse(new HttpResponse(responseStream));
                    }

                    return;
                }

                request.SendNotFound();
            }
        }