思路:
server端:
使用ServerSocket
ServerSocket serverSocket = new ServerSocket(指定的端口port);
Socket clientsocket= mServerSocket.accept();
(若需連接配接多個用戶端,可以用個循環來接收客戶的請求)
client端:
使用Socket
Socket socket = new Socket("服務端ip", 指定的端口port);
至此建立了用戶端與服務端的連接配接,通過流來接收與發送資料
常見問題:
1、android主線程是不允許耗時操作的,即連接配接的過程不能放在主線程,需單獨建立一個子線程;
2、更新UI的話,是不允許子線程更新的,可以通過Handler進行異步更新;
3、要想保持長連接配接,可在client端增加心跳包代碼,定時向server端發送資料包,保持活性;
4、如果有多個android界面需要進行連接配接,可以考慮用Android四大元件之一service;
5、如要傳送對象,可用json将對象轉化為string類型進行傳送。
PS:可以去看看apache mina、netty架構