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.");
}
}
暂无答案!
目前还没有任何答案,快来回答吧!