Android 與 PC通訊Socket詳解

1. 參考文章: https://blog.csdn.net/u013553529/article/details/80296870

2. PC --- Android多臺設備註意事項:
  2.1 adb 指令需要添加指定設備

  比如:輸入 adb devices
  顯示:AAAAAAAAAAAA device  -->設備A
        BBBBBBBBBBBB device  -->設備B
  那麼跟設備A 用adb通訊應操作如下:
  adb -s AAAAAAAAAAAA shell am broadcast -a NotifyRMUsbServiceStart
  跟設備B 用adb通訊應操作如下:
  adb -s BBBBBBBBBBBB shell am broadcast -a NotifyRMUsbServiceStart


 2.2.與多臺設備建立socket

  注意android爲服務端,android設備多臺,不同設備的socket port可以相同。
  但是PC只有一臺,PC跟每臺Android設備socket通訊綁定的port 需要不同。
  java案例:
  PC程序掃描不同的Android設備,根據Android設備的serialno 不同賦予設備不同的port. 比如:10001~19999
  1>.adb forward 建立tcp連接 //mDeviceInfo.getMapPort() 不同的設備對應的port不同。
  ”adb -s AAAAAAAAAAAA shell forward tcp:mDeviceInfo.getMapPort() tcp:9600“
  ”adb -s BBBBBBBBBBBB shell forward tcp:mDeviceInfo.getMapPort() tcp:9600“
  
  2>.代碼socket實現:
  static Socket mSocket = null;
  mSocket = new Socket("127.0.0.1", mDeviceInfo.getMapPort());
  
  >如:設備A賦予它的port爲 10001
       設備B賦予它的port爲 10002
       那麼設備A/B建立連接步驟:
	   adb -s AAAAAAAAAAAA shell forward tcp:10001 tcp:9600
	   new Socket("127.0.0.1", 10001);
	   ---------------------------------
	   adb -s BBBBBBBBBBBB shell forward tcp:10002 tcp:9600
	   new Socket("127.0.0.1", 10002); 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章