我有網絡請求,我用streamreader讀取信息。我想在15秒後在此流媒體播放器後停止播放。因爲有時讀書過程需要更多時間,但有時會順利。如果閱讀過程需要15秒以上的時間,我該如何阻止它?我打開所有想法。c#幾秒鐘後停止流式讀取器。這可能嗎?
2
A
回答
1
使用System.Threading.Timer並將打勾事件設置爲15秒。這不是最乾淨的,但它會起作用。或者一個秒錶
--stopwatch選項
Stopwatch sw = new Stopwatch();
sw.Start();
while (raeder.Read() && sw.ElapsedMilliseconds < 15000)
{
}
--Timer選項
Timer t = new Timer();
t.Interval = 15000;
t.Elapsed += new ElapsedEventHandler(t_Elapsed);
t.Start();
read = true;
while (raeder.Read() && read)
{
}
}
private bool read;
void t_Elapsed(object sender, ElapsedEventArgs e)
{
read = false;
}
0
你將不得不運行在另一個線程任務,並從你的主線程監視是否正在運行長於15秒:
string result;
Action asyncAction =() =>
{
//do stuff
Thread.Sleep(10000); // some long running operation
result = "I'm finished"; // put the result there
};
// have some var that holds the value
bool done = false;
// invoke the action on another thread, and when done: set done to true
asyncAction.BeginInvoke((res)=>done=true, null);
int msProceeded = 0;
while(!done)
{
Thread.Sleep(100); // do nothing
msProceeded += 100;
if (msProceeded > 5000) break; // when we proceed 5 secs break out of this loop
}
// done holds the status, and result holds the result
if(!done)
{
//aborted
}
else
{
//finished
Console.WriteLine(result); // prints I'm finished, if it's executed fast enough
}
2
既然你說「網絡請求」,我假設t流讀取器包裝一個System.IO.Stream
,您通過調用httpWebRequest.GetResponse().GetResponseStream()
從HttpWebRequest
實例獲得。
如果是這樣的話,你應該看看HttpWebRequest.ReadWriteTimeout
。
相關問題
- 1. 幾秒鐘後停止requestAnimationFrame
- 2. MPMoviePlayerViewController在幾秒鐘後停止
- 3. Jw播放器在幾秒鐘後停止在Firefox中
- 4. Spotify音頻播放器在幾秒鐘後隨機停止
- 5. 鈴聲鈴聲幾秒鐘,並停止
- 6. 暫停c#程序幾秒鐘?
- 7. NodeMCU-PyFlasher-1.0.0.exe幾秒鐘後終止
- 8. 如何暫停顯示器幾秒鐘?
- 9. 工作客戶端開始後幾秒鐘停止
- 10. Android應用播放音樂幾秒鐘後停止工作
- 11. 如何在最後一幀停止動畫幾秒鐘
- 12. 谷歌語音識別API幾秒鐘後停止錄音
- 13. Qt C++在按鍵上播放聲音 - 幾秒鐘後停止工作
- 14. 幾秒鐘後切換圖標模式
- 15. 幾秒鐘後如何獲取MouseDown?
- 16. 的Widget幾分鐘後停止更新
- 17. SPTimerv3在幾分鐘後保持停止
- 18. 幾秒鐘後更改ImageView
- 19. javascript:window.close();後幾秒鐘X量
- 20. 幾秒鐘後隱藏div
- 21. 每隔幾秒鐘,C#
- 22. 5秒後停止Javascript函數/設置。5秒鐘後的Blur()
- 23. 獲取在幾秒鐘
- 24. 視頻停止緩衝並在幾秒後停止播放
- 25. 5秒鐘後是否可以停止腳本?
- 26. 計時器每秒鐘幾秒
- 27. 如何暫停程序幾秒鐘
- 28. 如何暫停程序幾秒鐘?
- 29. 如何停止/延遲代碼幾秒鐘
- 30. 龍捲風應用程序定期停止幾秒鐘,100%CPU
澄清:你的意思是等待更多數據15秒後,或連續閱讀15秒後停止? – 2010-08-03 14:38:57
我的意思是在等待更多數據15秒後停止。 – 2010-08-03 14:52:03