【Android】基於TCP協議的網絡通信


 

1.使用ServerSocket 創建TCP服務器端:

 1 ServerSocket server;  2 try {  3     server = new ServerSocket(8000);  4     while (true) {  5         Socket client = server.accept(); // 等待客戶端的請求
 6         OutputStream stream = client.getOutputStream();  7         stream.write("hello world!\n".getBytes("utf-8"));// 發送消息
 8  stream.close();  9  client.close(); 10  } 11 } 12 catch (Exception ex) { 13  ex.printStackTrace(); 14 }

    以上的簡單例子中我們使用 utf-8字符集進行編碼,因為Android是基於Linux內核的,當客戶端讀取網絡數據時,默認使用 utf-8 字符集進行解碼,這樣可以避免亂碼的產生。

 

2. 用Socket創建TCP客戶端:

 

 1 Socket client;
 2 try {
 3     // 創建客戶端並建立遠程連接,具體IP地址和端口號需根據實際情況而定
 4     client = new Socket("192.168.1.94", 8000);
 5     // 將接受到的輸入流封裝成BufferedReader
 6     BufferedReader reader = new BufferedReader(
 7             new InputStreamReader(client.getInputStream()));
 8     String msg = reader.readLine();
 9     Log.w("TCP", msg);
10     reader.close();
11     client.close();
12 }
13 catch (Exception ex) {
14     ex.printStackTrace();
15 }

 

3. 在 AndroidManifest.xml 中添加應用權限:

<uses-permission android:name="android.permission.INTERNET"/>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM