如何处理连续的 GET 请求?
How to handle continous GET requests?
我正在开发一个 Windows 表单应用程序,它向我展示了我网络中多个 IP 摄像机(来自不同公司)的流,还允许我移动摄像机(左、右、上) ,向下,缩放)。这是通过 AFORGE.net MJPEG 流和通过触发获取请求的相机移动来实现的。
问题:我有一台相机不会步进移动(例如,每次单击 'up' 后)但它会连续移动。它仅在我使用参数 'stop'.
发送另一个请求时停止
GET 请求向右移动:
http://192.XXX.XX.XXX:XXXX/web/cgi-bin/hi3510/ptzctrl.cgi?-step=0&-act=right&-speed=63
GET 请求停止移动:
http://192.XXX.XX.XXX:XXXX/web/cgi-bin/hi3510/ptzctrl.cgi?-step=0&- act=stop&-speed=63
我用于其他相机的功能:
private void move_right()
{
string url = 'someURL';
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.GetResponse();
request.Abort();
}
我希望相机在点击按钮后逐步向右移动,但是当发出向右移动的请求时,我的程序就卡住了。
使用 HttpClient 对象并创建一个异步请求,尝试类似(未测试)的操作:
private async Task move_right()
{
var url = 'someURL';
var client = new HttpClient();
var request = new HttpRequestMessage()
{
RequestUri = new Uri(url),
Method = HttpMethod.Get,
};
var response = await client.SendAsync(request);
//Do something with your response
}
private async Task executeWebRequests()
{
//Usage - Await for result
await move_right();
//Execute asynchronously
move_right(); //Will create a new task and run asynchronously in the BG
move_right(); //Will create a new task and run asynchronously in the BG
move_right(); //Will create a new task and run asynchronously in the BG
move_right(); //Will create a new task and run asynchronously in the BG
}
我有一个相机使用相同的url。
这个帖子已经有几年了,但对于其他感兴趣的人,请使用 step=1 逐步移动。
我正在开发一个 Windows 表单应用程序,它向我展示了我网络中多个 IP 摄像机(来自不同公司)的流,还允许我移动摄像机(左、右、上) ,向下,缩放)。这是通过 AFORGE.net MJPEG 流和通过触发获取请求的相机移动来实现的。 问题:我有一台相机不会步进移动(例如,每次单击 'up' 后)但它会连续移动。它仅在我使用参数 'stop'.
发送另一个请求时停止GET 请求向右移动:
http://192.XXX.XX.XXX:XXXX/web/cgi-bin/hi3510/ptzctrl.cgi?-step=0&-act=right&-speed=63
GET 请求停止移动:
http://192.XXX.XX.XXX:XXXX/web/cgi-bin/hi3510/ptzctrl.cgi?-step=0&- act=stop&-speed=63
我用于其他相机的功能:
private void move_right()
{
string url = 'someURL';
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.GetResponse();
request.Abort();
}
我希望相机在点击按钮后逐步向右移动,但是当发出向右移动的请求时,我的程序就卡住了。
使用 HttpClient 对象并创建一个异步请求,尝试类似(未测试)的操作:
private async Task move_right()
{
var url = 'someURL';
var client = new HttpClient();
var request = new HttpRequestMessage()
{
RequestUri = new Uri(url),
Method = HttpMethod.Get,
};
var response = await client.SendAsync(request);
//Do something with your response
}
private async Task executeWebRequests()
{
//Usage - Await for result
await move_right();
//Execute asynchronously
move_right(); //Will create a new task and run asynchronously in the BG
move_right(); //Will create a new task and run asynchronously in the BG
move_right(); //Will create a new task and run asynchronously in the BG
move_right(); //Will create a new task and run asynchronously in the BG
}
我有一个相机使用相同的url。
这个帖子已经有几年了,但对于其他感兴趣的人,请使用 step=1 逐步移动。