2015-05-08 80 views
1

我需要在我的Android應用程序中維護TCP服務器。Android的TCP服務器限制

  • 在我的應用程序中,我連接了12個客戶端。
  • 所有客戶都處於活動狀態。
  • 經過一段時間後,一個或多個客戶端連接超時時間將會變爲 。

我需要知道,有多少客戶端可以連接到我的TCP服務器而無需連接超時。

注:我的服務器設備有一個2GB的RAM。其他有512個RAM,但所有設備都只有android。 客戶端的數量是多種多樣的取決於內存限制?

  • Wakelock適用於所有設備。
  • 所有設備均已充滿電。
  • WIFI路由器內6英尺距離可用,所以不存在信號問題
+0

你*假設,*和*沒有證據,*它與客戶數量有關。它沒有。 – EJP

+0

對不起,我不明白你想說什麼。但這是我的情況,在上述情況下,我遇到了客戶端的連接超時。在超時異常日誌的幫助下,我開始瞭解這個問題。所以只有我在Stackoverflow中提出了疑問。你有什麼想法可以幫助我解決這個問題。 @EJP – Yuvi

回答

1

這可能是斷開的發生,因爲該設備進入低功耗狀態,禁用或睡覺的網絡接口。當然,這是假定您的網絡鏈路是穩定的(您不是通過Wifi或移動網絡漫遊)。如果您需要保持所有客戶端連接並防止睡眠,則需要持有喚醒鎖以防止睡眠。不過,這是一個你需要決定的權衡。只要你拿着喚醒鎖,系統就不會進入低功耗狀態,你將會消耗更多的電池。

+0

感謝您的回覆。 Wakelock適用於所有客戶端,所有設備都在充滿電的情況下運行。所有設備連接到wifi,所有設備和WiFi路由器之間的距離僅爲6英尺。在這種情況下,其中一個設備斷開連接。所以只有我發佈了這個問題 – Yuvi