타이머를 1 초마다 재설정하여 웹 스크립트의 응답을 검색하려고합니다. 타이머를 재설정하고 새로운 것을 만들뿐만 아니라 시작 및 중지 기능을 좋아합니다. 그냥 첫 번째 응답이 다시타이머를 1 초마다 초기화합니다.
그것이 작동해야하는 방법을 쿼리하지 않습니다 찾습니다
버튼에 책을 누를 때이> 타이머를 시작> 타이머가 0에 도달> 쿼리 웹 링크> 라벨에 응답을 넣어
이private void timer1_Tick(object sender, EventArgs e)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://fms.psrpc.co.uk/apistate.php?" + ApiKey);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (response)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
if (reader.ReadToEnd() == "State 1")
{
label4.Text = "On Duty";
label4.ForeColor = Color.Gray;
}
else
if (reader.ReadToEnd() == "State 2")
{
label4.Text = "Available for calls";
label4.ForeColor = Color.Green;
}
else
if (reader.ReadToEnd() == "State 4")
{
label4.Text = "On Break";
label4.ForeColor = Color.Yellow;
}
else
if (reader.ReadToEnd() == "State 5")
{
label4.Text = "Responding to call";
label4.ForeColor = Color.Orange;
}
else
if (reader.ReadToEnd() == "State 6")
{
label4.Text = "On Scene";
label4.ForeColor = Color.LightBlue;
}
else
if (reader.ReadToEnd() == "State 7")
{
label4.Text = "Traffic Stop";
label4.ForeColor = Color.Purple;
}
else
if (reader.ReadToEnd() == "PANIC")
{
label4.Text = "PANIC BUTTON ACTIVATED";
label4.ForeColor = Color.Red;
}
else
if (reader.ReadToEnd() == "Assigned")
{
label4.Text = "Assigned to call";
label4.ForeColor = Color.Brown;
}
}
request.GetResponse().Dispose();
timer1.Dispose();
timer1 = new System.Windows.Forms.Timer();
}
여기서 실제로 고쳐야 할 문제가 무엇인지 모르겠다. 변수에'ReadToEnd'의 첫 번째 결과를 저장해야합니다. 그러면 웹 사이트를 쿼리하여 얻는 속도가 제한된다는 것을 알게 될 것입니다 매초 – Sayse