回答
是的,但它超出了本網站的範圍,給你一個完整的實施。但是,這裏有一些提示
存儲內存是足夠基本的。要存儲8000位數據,你可以使用std :: bitset,或者你可以手動實現它,毫無疑問,每1000個字節的常規8位每字節系統。如果你需要通過網絡將它發送爲8000位,那麼後一種形式就是你要用的,但是你可以從std :: bitset中獲得原始數據,所以你仍然可以在內部使用這個類。
延遲只是一個編寫調度程序的問題,std :: priority_queue可以用來實現這一點。
感謝您的回答, – fsidiosidi 2010-11-10 12:06:52
因此,只需將數據推送到內存(例如,延遲10ms,速度爲32kbits/s的8000位)即可增加延遲。 。 – fsidiosidi 2010-11-10 12:08:21
@ user502951:如果你的流是無限的並且是同步的,那麼這將工作。否則,什麼事件會觸發發送最後的8000位? – MSalters 2010-11-10 12:16:13
您不存儲或發送8000位引起延遲。在發送數據之前,使用usleep()/ nanosleep()函數將程序暫停200ms。可以使用Win32 Timer API SetTimer/KillTimer。將想要延遲的數據添加到隊列中,然後啓動計時器以延遲數據的毫秒數。當計時器關閉時,從隊列中移除數據併發送。
我不想停止該程序...我希望他仍然從網絡接收......並將延遲添加到數據(實時),然後開始通過網絡再次發送數據... – fsidiosidi 2010-11-11 08:40:39
我確實找到了解決方案...通過使用2個線程從網絡接收數據並將其推送到隊列,另一個從隊列中彈出數據並將其發送到網絡。並通過使第二次睡眠一段時間我可以延遲....但問題是,我已經收到速率(32 kbit/s)!=發送速率(1.5 Mbits/s) – fsidiosidi 2010-11-12 08:55:33
您的發送速率不能大於您的接收速率,而不是除非您添加數據或解壓縮接收的數據。 – Neopallium 2010-12-02 10:07:15
- 1. 如何在Android中開始播放之前添加延遲?
- 2. jquery:在效果之前添加延遲
- 3. 添加延遲之前的keyup()jQuery中
- 4. AsyncSocket延遲發送數據
- 5. 如何延遲3秒。開始之前發送請求ajax?
- 6. 在javascript中回發之前的延遲
- 7. Rails ActionMailer在發送電子郵件之前添加幾毫秒的延遲
- 8. 在使用jquery發送新的ajax請求之前添加延遲
- 9. 在懸停延遲中添加延遲
- 10. AngularJS服務延遲發送數據
- 11. Php延遲發送數據5分鐘
- 12. 在調用函數之前在.hover()回調函數中添加一個延遲
- 13. 在iOS中發送短信時添加延遲
- 14. 添加對數據表AJAX數據之前發送
- 15. 在UIView動畫之間添加延遲
- 16. 在鏡頭之間添加延遲
- 17. 在Verilog中添加延遲
- 18. 在angularjs中添加延遲
- 19. 在通過藍牙傳輸的數據之間添加延遲
- 20. 如何在查找遊戲對象之前添加延遲
- 21. 在jquery函數中添加延遲
- 22. 在python請求發送原始數據
- 23. 延遲之前卸載Javascript
- 24. 添加可延遲事件的延遲
- 25. 如何在Automation Anywhere中完全加載網頁之前添加等待/延遲?
- 26. 發送大量的數據pyportmidi停止工作,除非我添加延遲
- 27. ExecutorService添加延遲
- 28. 使用Android MediaPlayer播放音頻之前添加延遲
- 29. 如何在請求發送之前在$ http中添加一些默認數據
- 30. 延遲短信發送ANDROID
以及在我'睡覺'之前要走的英里:) – Chubsdad 2010-11-10 11:18:36
你在哪個平臺上編程? Windows/Mac OSX/Linux? – Neopallium 2010-11-10 20:24:33
@ Neopallium:It's Win .... MVSC++ – fsidiosidi 2010-11-11 08:38:47