2012-11-19 33 views
0

我有簡單的windows mobile 5應用程序,當設備從網絡讀取數據時它會凍結。根本原因是網絡正在重複丟棄數據包,並且應用程序在讀取呼叫時阻塞。windows mobile 5設備從套接字讀取時死機

我想通過中斷(按鍵組合)從應用程序或操作系統級別退出此應用程序。我可否知道是否有任何簡單的方法來納入這一機制。

+0

薩爾,顯示您正在使用連接到插座的代碼的一點,我們(約瑟夫。或者我自己)可以告訴你如何做到這一點使用一個線程,這樣它不會阻止你的主應用程序,所以你可以取消你的異步網絡調用。 – jp2code

回答

1

不幸的是,您沒有發佈您的套接字代碼。只要你沒有使用Async調用,套接字訪問就會被阻塞。爲了讓主線程繼續運行,必須將套接字調用放入單獨的線程中。

我可以在這裏提供一些背景:http://www.hjgode.de/wp/2010/06/01/mobile-development-easy-to-use-background-thread-with-gui-update/其中一個簡單的ping在後臺完成。對IcmpSendEcho的調用將會阻塞,但由於它是在單獨的線程中完成的,當'ping'返回時,gui仍然可用,並且會觸發事件。

〜約瑟夫

+0

感謝約瑟夫的信息。我明白讀線程會阻止嘗試從套接字讀取。那是可以接受的。 – user1069861

+0

感謝Josef的信息。我明白讀線程會阻止嘗試從套接字讀取。那是可以接受的。現在需要的是通過某種硬件中斷或軟件中斷來終止在讀取時被阻塞的應用程序。如果有人可以暗示創建和處理Windows移動設備上的中斷,如在從文件或套接字讀取的某些活動中發生中斷 – user1069861