嗨我的代码有问题。当程序第一次运行时,它会在arduino上向我的服务器发送一个http请求。第一次要求总是很慢,我的表格会停留10-20秒。下一个请求工作正常,只有第一个请求和我关闭服务器并尝试请求时才会出现问题。有我的请求功能(我的英语sry):
private string SubmitData(string postData)
{
try
{
string req = "";
req = "http://" + ip + "/" + postData;
WebRequest request = WebRequest.Create(req);
request.Method = "GET";
request.ContentType = "application/x-www-form-urlencoded";
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader sr = new StreamReader(stream);
String rower = sr.ReadToEnd();
sr.Close();
stream.Close();
return rower;
}
catch (Exception ex)
{
return "ERR";
}
}
答案 0 :(得分:0)
(将此作为评论发布,但不够酷......)
我无法回答为什么第一个请求很慢,但你确定第一次服务器不是很慢吗?
如果要限制最长等待时间,可以更改超时值
WebRequest.Timeout = 5000; // Units of ms
请参阅http://msdn.microsoft.com/en-us/library/system.net.webrequest.timeout(v=vs.110).aspx'后代类通过抛出WebException并将Status字段设置为WebExceptionStatus.Timeout来发出超时信号。 “