我在播放應用程序響應中的文件。當客戶端下載文件時,我正在從本地服務器清除文件。我正在使用以下代碼實現此目的:如何在播放框架中發送大文件時捕獲客戶端斷開連接?
val fileToServe = TemporaryFile(new File(fileName))
Ok.sendFile(fileToServe.file, onClose =() => { fileToServe.clean })
但是,當客戶端斷開連接時,臨時文件仍保留在本地服務器中。但是我想處理這個斷開連接並清理臨時文件 。我聽說onDoneEnumerating()但無法使用它。
任何人都可以指出我最簡單的方法來處理斷開連接並從本地服務器清理臨時文件嗎?
爲什麼不跟蹤影響所有連接的每個臨時資源?如與連接池? – Fabien
請指教我更多的細節 –
這是我以前做的事情:每當收到一個連接,我將連接存儲在一個全局連接所在的全局對象中。使用字典,我將每個連接所使用或分配的資源關聯起來。斷開連接時,很容易抓取已使用的資源並對這些資源採取適當的操作。至於'如何檢測'斷開連接,我不知道你的框架。但這是基本的,所以我想它已經實現了;-) – Fabien