Веб-событие.net gadgeteer не запускается. Получение ответа от веб-сервера

Это код ниже.

    using System;
using System.Collections;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Presentation;
using Microsoft.SPOT.Presentation.Controls;
using Microsoft.SPOT.Presentation.Media;
using Microsoft.SPOT.Presentation.Shapes;
using Microsoft.SPOT.Touch;

using Gadgeteer.Networking;
using GT = Gadgeteer;
using GTM = Gadgeteer.Modules;
using Microsoft.SPOT.Net.NetworkInformation;


namespace WebSer
{
    public partial class Program
    {
        GT.Networking.WebEvent sayHello;
        GT.Timer t;
        void ProgramStarted()
        {
            t = new GT.Timer(1000);
            t.Tick += new GT.Timer.TickEventHandler(t_Tick);
            t.Start();
        }

        private void t_Tick(GT.Timer timer)
        {
            t.Stop();
            if (!wifi.NetworkInterface.Opened)
                wifi.NetworkInterface.Open();
            if (!wifi.NetworkInterface.IsDhcpEnabled)
                wifi.NetworkInterface.EnableDhcp();
            wifi.NetworkInterface.NetworkInterface.EnableDynamicDns();

            NetworkChange.NetworkAddressChanged += NetworkChange_NetworkAddressChanged;
            NetworkChange.NetworkAvailabilityChanged += NetworkChange_NetworkAvailabilityChanged;
           wifi.NetworkInterface.Join("Connectify-test", "abdi1990");
           while (true)
            {
                string ipaddress = wifi.NetworkInterface.IPAddress;
                Debug.Print(ipaddress);

                if (ipaddress != "0.0.0.0") break;

                Thread.Sleep(1000);
            }
            Thread.Sleep(-1);   
        }

        private void NetworkChange_NetworkAvailabilityChanged(object sender, NetworkAvailabilityEventArgs e)
        {
            Debug.Print("CHANGED");

        }

        private void NetworkChange_NetworkAddressChanged(object sender, EventArgs e)
        {
            Debug.Print(wifi.NetworkInterface.IPAddress+"from event");
            if (wifi.NetworkInterface.IPAddress != "0.0.0.0")
            {
                WebServer.StartLocalServer(wifi.NetworkInterface.IPAddress, 80);
                sayHello = WebServer.SetupWebEvent("hello");
                sayHello.WebEventReceived+=sayHello_WebEventReceived;
                // wifi_RS21.Interface.Disconnect();
            }
        }

        private void sayHello_WebEventReceived(string path, WebServer.HttpMethod method, Responder responder)
        {
            string content = "<html><body><h1>Hello World!!</h1></body></html>";
            byte[] bytes = new System.Text.UTF8Encoding().GetBytes(content);
            responder.Respond(bytes, "text/html");
        }


    }
}

выход сначала при подключении это

The thread '<No Name>' (0x2) has exited with code 0 (0x0).
Using mainboard GHI Electronics FEZ Spider version 1.0
The thread '<No Name>' (0x3) has exited with code 0 (0x0).
0.0.0.0
0.0.0.0
CHANGED
192.168.137.102from event
Web server started at http://192.168.137.102:80/
192.168.137.102

затем, когда я перехожу к 192.168.137.102:80, он выводит две дополнительные строки в конце и правильно отображает сайт по умолчанию. который я также приложил как изображение

The thread '<No Name>' (0x2) has exited with code 0 (0x0).
Using mainboard GHI Electronics FEZ Spider version 1.0
The thread '<No Name>' (0x3) has exited with code 0 (0x0).
0.0.0.0
0.0.0.0
CHANGED
192.168.137.102from event
Web server started at http://192.168.137.102:80/
192.168.137.102
The thread '<No Name>' (0x7) has exited with code 0 (0x0).
The thread '<No Name>' (0x8) has exited with code 0 (0x0).

Сайт по умолчанию

тогда, если перейти к 192.168.137.102:80/hello ничего не происходит, браузер продолжает загружаться и выводит еще две вещи внизу

The thread '<No Name>' (0x2) has exited with code 0 (0x0).
Using mainboard GHI Electronics FEZ Spider version 1.0
The thread '<No Name>' (0x3) has exited with code 0 (0x0).
0.0.0.0
0.0.0.0
CHANGED
192.168.137.102from event
Web server started at http://192.168.137.102:80/
192.168.137.102
The thread '<No Name>' (0x7) has exited with code 0 (0x0).
The thread '<No Name>' (0x8) has exited with code 0 (0x0).
The thread '<No Name>' (0x9) has exited with code 0 (0x0).
The thread '<No Name>' (0xa) has exited with code 0 (0x0).

Таким образом, по умолчанию 192.168.137.102:80 работает, а 192.168.137.102:80/hello - нет. Мне нужна помощь.

1 ответ

Я думаю, что это ошибка в API веб-сервера, и вы можете исправить это:

https://gadgeteer.codeplex.com/workitem/1861

Вы найдете учебное пособие на сайте документа GHI 42: https://www.ghielectronics.com/downloads/Gadgeteer/NET_Gadgeteer_for_beginners.pdf

Надеюсь, поможет...

Другие вопросы по тегам