Android 3G網絡下Socket通信
一、前提
1.1網絡環境
使用Android手機在3G模式下和固定IP的電腦進行Socket通信。
環境要求:電腦的IP地址必須是外網的,若你的IP地址是內網IP的話,必須給你的內網IP添加一個外網映射。
二、Android客戶端代碼
2.1添加3G網絡權限
在AndroidManifest.xml文件中添加3G網絡權限。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
添加完上面的權限後最好添加上Internet權限,這樣可以先使用WiFi環境測試下代碼的正確性。
<uses-permission android:name="android.permission.INTERNET"/>
2.2代碼
上面的代碼是連接服務器,並判斷連接後接收服務器發送過來的數據。
連接成功後給服務器端發送消息。
三、Java服務器端代碼(可接收多客戶端)
3.1代碼
GServer類繼承ServerSocket,使得Socket是固定的,每次來一個客戶端就開啓一個新的線程進行處理,開的線程中創建新的IO流來接收發送數據。
開啓的線程的詳細內容,其中完成了接收客戶端的消息,並給客戶端發送消息。