這段時間以來,由於一個項目,輾轉於android的socket 編程,倍加煩惱。特編寫寫此文以記.
文章提綱:
1、socket原理
2、兩種串連方式的區別
3、tcp簡單socket通訊
4、與gps伺服器的socket通訊
2、android socket編程分為tcp與udp兩種建立串連的方式。
一、udp方式
接收方建立步驟:
1. 建立一個DatagramSocket對象,並指定監聽的連接埠號碼
DatagramSocket socket = new DatagramSocket (4567);
2. 建立一個byte數組用於接收
byte data[] = new byte[1024];
3. 建立一個空的DatagramPackage對象
DatagramPackage package = new DatagramPackage(data , data.length);
4. 使用receive方法接收發送方所發送的資料,同時這也是一個阻塞的方法
socket.receive(package);
5. 得到發送過來的資料
new String(package.getData() , package.getOffset() , package.getLength());
發送方建立步驟:
1. 建立一個DatagramSocket對象
DatagramSocket socket = new DatagramSocket (4567);
2. 建立一個 InetAddress , 相當於是地址
InetAddress serverAddress = InetAddress.getByName("想要發送到的那個IP地址");
3. 這是隨意發送一個資料
String str = "hello";
4. 轉為byte類型
byte data[] = str.getBytes();
5. 建立一個DatagramPacket 對象,並指定要講這個資料包發送到網路當中的哪個地址,以及連接埠號碼
DatagramPacket package = new DatagramPacket (data , data.length , serverAddress , 4567);
6. 調用DatagramSocket對象的send方法 發送資料
socket . send(package);
二、TCP方式
參考文獻:1.http://www.cnblogs.com/lee0oo0/archive/2012/04/04/2431907.html