Android手機與PC端進行通信

        前陣子研究短信竊聽器的時候,碰到一個問題,需要手機和電腦PC之間進行通信,互相傳輸數據,之間碰到的問題寫出來,方便大家共享,減少查找資料的時間。

        首先,有關網絡的操作,沒有用線程,導致出現網絡操作報錯:android.os.NetworkOnMainThreadException,android 版本不允許在主線程中進行網絡訪問,需要將網絡操作單獨放到一個線程中。

new Thread(){
  public void run(){
  //在此執行網絡操作代碼
  }
}.start();

        客戶端代碼如下:

new Thread(){
					public void run(){
						System.out.println("before執行連接操作");
						Socket s = null;
						try {
							s = new Socket("192.168.1.101", 30000);
							System.out.println("執行連接操作");
							PrintWriter pw;
							BufferedReader br;
							if(s==null){
								Log.e("socket","socket is null");
								System.out.println("執行連接操作失敗");
							}
							else {
								//br=new BufferedReader(new OutputStreamWriter(s.getOutputStream()),true);
								//pw = new PrintWriter(s.getOutputStream());
								pw = new PrintWriter( new BufferedWriter( new OutputStreamWriter(s.getOutputStream())),true);
								if(pw!=null){
									/*String str="aaaaaaaaa";
									pw.println(str);*/
									pw.println(sb.toString());
									pw.flush();
								}
							}
						} catch (IOException e) {
							e.printStackTrace();
						}
					}
				}.start();

服務器端代碼如下:

public class ServerSocketClass {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("服務器啓動。。。");
		ServerSocket ss;
		try {
			ss = new ServerSocket(30000);
			while(true){  
			    Socket s = ss.accept();  
			    BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); 
			    String str;  
			       
			    //BufferedWriter bw = new BufferedWriter(new FileWriter("D:/11.txt"));  
			    while ((str = in.readLine()) != null) {  
			        System.out.println(str);  
			       // bw.write(str);  
			     //   bw.newLine();
			    }
			 //   bw.close();
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 		
	}
}

服務器不停的接收來自客戶端發送過來的數據,並進行顯示。同時,客戶端需要具有網絡訪問權限。




發佈了27 篇原創文章 · 獲贊 11 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章