天天看點

Android通過Socket與伺服器進行通信

  總有些想嘗試一些底層的人,之前做過socket開發,總是想能不能用socket實作手機和伺服器直接通信。嘗試了下,還是不難的。畢竟都是用Java寫的,無論是Android端還是伺服器端,都是對Socket的使用。下面給出具體代碼。

 先看伺服器端代碼:

Server.java

  上面是普通的Java類,可以直接放到指令行裡面編譯然後執行(javac Server.java,然後java Server即可)。首先初始化一個ServerSocket,利用一個while循環,不斷循環接收用戶端請求。注意ServerSocket類的accept函數将會阻塞線程的運作,當沒有用戶端發來請求時,伺服器将會停在accept方法處,直到有用戶端發送請求。

  下面看看Android端代碼:

  在Android端首先初始化一個Socket,然後擷取該Socket的輸出流,在調用out.println的時候架構會自動進行socket請求并發送資料。可以通過socket.getInputStream()擷取Socket的輸入流,進而可以接收伺服器的輸出。

繼續閱讀