㈠ 安卓socket編程的伺服器端的地址是什麼
服務端的地址就是你伺服器運行的電腦的ip地址,伺服器運行在哪個電腦,那個電腦的ip就是你伺服器端的地址。
使用socket編程的話創建伺服器端的時候一般都是ServerSocket來創建一個對象,通過new構造函數的時候傳入一個埠號,客戶端連接的時候除了使用伺服器端ip還有這個埠號,創建了對象之類,開啟無限循環,用這個對象調用accept()方法,這就是常說的心跳連接,這個方法會一直阻塞,直到有客戶端連接上。
客戶端連接的時候也需要創建Socket對象,實例化這個對象的時候就需要傳入伺服器端ip和埠號,然後就可以利用這個對象獲取輸入輸出流與伺服器交互。
同樣伺服器端的ServerSocket對象調用accept()方法返回的Socket對象也可以獲取輸入輸出流對象,然後利用這些流與客戶端交互。
㈡ 如何用socket實現android手機與手機之間的通信
參考一般的java的socket編程,如果通過手機網路,就不要使用UDP即可。
㈢ Android Http連接和TCP連接的區別
Http是應用層協議,TCP是網路層協議,應用層在TCP/IP四層架構中位於TCP的上一層。
建立Http連接在實現時有以下兩種方式:
1、[java] view plain
DefaultHttpClient http = new DefaultHttpClient();
HttpGet method = new HttpGet(url);
HttpResponse response =http.execute(method);
2、[java] view plain
URL url = new URL(uri);
HttpURLConnection connection = (HttpURLConnection)
url.openConnection();
connection.connect();
而TCP連接在實現時要藉助Socket(套接字 IP+埠號)
[java] view plain
Socket s = new Socket("localhost", 12345);
區別從這兩個連接的實現方式就可以看出來,HTTP連接需要指明資源的URL,發出請求的應用不知道伺服器的IP,雖然域名伺服器也是要把域名解析成IP地址,但不屬於應用所關心的范疇,是網路層應該完成的工作。所以Http連接屬於無狀態的短連接,若再請求其他數據,需要再重新建立連接。客戶端向伺服器發送請求後,伺服器才知道客戶端的存在。
TCP連接實現時需要指明IP地址和埠號,就可以跟目的主機通過三次握手建立聯系,該連接一直保持直到某一方提出取消連接,通過四次握手關閉連接。Socket支持TCP/UDP協議,如果使用TCP協議,那麼socket連接就是TCP連接。論文提到的應用場景是手機與雲端的伺服器建立聯系,因為要保持連接並指定連接的建立時間,所以在這種場景下使用TCP連接最合適。3G網路不支持端到端建立TCP連接,因為它是client-server模式,所以需要通過雲端伺服器的輔助來實現手機的端到端通信。