安卓實現tcp連線(安卓作為客戶端,電腦作為服務端)
阿新 • • 發佈:2019-02-05
參考http://blog.csdn.net/ryantang03/article/details/8274517
注意
ip地址要千萬注意,我用的是電腦的ip的地址。至於如何獲取ip地址,用的是public class SocketAndrodActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button = (Button) this.findViewById(R.id.btn); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { try { System.out.println("Client:Connecting"); //IP地址和埠號(對應服務端),我這的IP是本地路由器的IP地址 Socket socket = new Socket("192.168.1.104", 12345); //傳送給服務端的訊息 String message = "Message from Android phone"; try { System.out.println("Client Sending: '" + message + "'"); //第二個引數為True則為自動flush PrintWriter out = new PrintWriter( new BufferedWriter(new OutputStreamWriter( socket.getOutputStream())), true); out.println(message); // out.flush(); } catch (Exception e) { e.printStackTrace(); } finally { //關閉Socket socket.close(); System.out.println("Client:Socket closed"); } } catch (UnknownHostException e1) { e1.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }); } }
這個軟體,可以很方便的獲取ip地址。
改過ip地址後,記得在AndroidManifest.xml的user-sdk後,加上 <uses-permission android:name="android.permission.INTERNET" />,這是因為android4.0之後,網路訪問必須請求許可權。