簡體   English   中英

AS3中的TCP流量控制?

[英]TCP Flow control in AS3?

我目前正在為一個預先存在的服務/標准的Flash套接字客戶端工作。 該服務使用TCP流量控制來限制自身,Flash套接字盡可能快地讀取所有內容,盡管無法像接收它那樣快速處理它。這會導致套接字上的bytesAvailable繼續增加和服務器從來不知道客戶落后了。

簡而言之, 有沒有辦法限制Flash Socket對象的可用字節數或以其他方式限制它?

注意:重寫服務器當前不是一個可行的選擇,因為它是一個標准,如果需要服務器端更改,客戶端的實用程序會大大減少

經過研究,我發現當CPU在系統上最大化時,Actionscript Socket類將開始限制(可能是由於資源耗盡/響應速度慢)。

這實際上已經解決了我的問題,因為我編寫了代碼,使得它在應用程序“想要”每秒的幀數和套接字中可用的字節數之間取得平衡。 如果bytesAvailable太高,應用程序將處理不間斷並將CPU驅動至100%,最終導致套接字速度變慢。

我不認為這是可能的。 AS3中沒有可以使用TCP級別的字節進行操作的低級API。 但是你可以在更高級別上實現節流。 例如:在將字節放入Socket的byteArray之前,檢查在過去幾秒鍾內放置了多少數據。 如果此值太高 - 推遲操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM