標籤:android socket 連接埠 伺服器
1.建立一個java工程做伺服器
public class MyServer { String str ; public MyServer(){ try { //伺服器端的聲明用serversocket,括弧裡面寫連接埠號碼,連接埠號碼是自己指定的 ServerSocket ss = new ServerSocket(4700); //accept方法在這裡會一直等待用戶端串連進來 Socket accept = ss.accept(); //建立一個讀入流,字元集是utf-8 BufferedReader br = new BufferedReader(new InputStreamReader(accept.getInputStream(),"utf-8")); //用這個方法讀取用戶端寫入的資料 str = br.readLine(); System.out.println("從用戶端來的資料:"+ str); br.close(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String [] args){ //不要忘了這一步 new MyServer(); }}
2.建立一個android工程作為用戶端
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //這裡用到子線程有很多理由,可以自己百度瞭解一下 new Thread(){ public void run() { try { //cmd ipconfig擷取當前本機ip地址 Socket client = new Socket("192.168.56.1", 4700); //一定要要以分行符號結尾,不然readline會一直讀取不會停止,所以reaeline沒有值返回 String str = "你好伺服器\n"; BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream())); bw.write(str); bw.flush(); bw.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }.start(); }
android 初識socket通訊--java程式做伺服器