esp8266服务器通信

e4eetjau  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(313)

esp8266正在使用at+命令。所以我尝试创建一个非常简单的服务器来与之通信。我的第一个问题是,我可以创建一个数据库作为web服务器吗?和esp8266直接与我的数据库进行通信?假设我将使用mysql。第二个问题如果我需要首先使用c语言与web服务器通信,如何在我的电脑中创建可以接收和发送请求的本地服务器?
下面是我从esp8266发送的一个示例

AT+CIPSEND=4,46\r\n
AT+CIPMUX=1\r\n
AT+CIPSTART=4,"TCP","192.168.0.214",5000\r\n
GET / HTTP/1.1\r\nHost: http://localhost:5000/\r\n
AT+CIPCLOSE=4\r\n

我不知道怎么从这个开始。我在论坛上问是因为我想找到一个简单的方法。
我也发现了这个例子。但我将如何结合它发送请求和回答客户?

static void Main(string[] args)
    {
        Console.WriteLine("Starting server...");
        _httpListener.Prefixes.Add("http://localhost:5000/"); // add prefix "http://localhost:5000/"
        _httpListener.Start(); // start server (Run application as Administrator!)
        Console.WriteLine("Server started.");
        Thread _responseThread = new Thread(ResponseThread);
        _responseThread.Start(); // start the response thread
    }
    static void ResponseThread()
    {
        while (true)
        {
            HttpListenerContext context = _httpListener.GetContext(); // get a context
            // Now, you'll find the request URL in context.Request.Url
            byte[] _responseArray = Encoding.UTF8.GetBytes("<html><head><title>Localhost server -- port 5000</title></head>" + 
                "<body>Welcome to the <strong>Localhost server</strong> -- <em>port 5000!</em></body></html>"); // get the bytes to response
            context.Response.OutputStream.Write(_responseArray, 0, _responseArray.Length); // write bytes to the output stream
            context.Response.KeepAlive = false; // set the KeepAlive bool to false
            context.Response.Close(); // close the connection
            Console.WriteLine("Respone given to a request.");

        }
    }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题