Android Socket程式設計開發入門

2021-06-05 09:45:07 字數 1667 閱讀 6507

1、 socket通訊模型如下:

應用程式通過套接字可以進行通訊,可以使用udp協議或者使用tcp協議

當客戶端和伺服器端的協議時相對應的,客戶端使用tcp,那麼伺服器端使用tcp

2、 udp協議:把資料打包成資料報,然後直接傳送對應的ip位址,速度快,但是不保證

成功率,並且資料大小有限

tcp協議:首先連線接收方,然後傳送資料,保證成功率, 速度慢

3、 tcp通訊方式如下:

而udp通訊不使用inputstream和outputstream

4、 udp通訊實現:

udp使用datagramsocket物件來實現

udp的客戶端**實現如下:

public static void main(string args) catch (exception e)

}udp的服務端**實現如下:

//建立乙個datagramsocket物件,並指定監聽的埠號

datagramsocket socket = new datagramsocket(4567);

byte data = new byte[1024];

//建立乙個空的datagrampacket物件

datagrampacket packet =

new datagrampacket(data,data.length);

接上頁//使用receive方法接收客戶端所傳送的資料,

//如果客戶端沒有傳送資料,該程序就停滯在這裡

socket.receive(packet);

string result = new

string(packet.getdata(),packet.getoffset(),

packet.getlength());

system.out.println("result--->" + result);

5、 tcp通訊的實現:

tcp使用socket物件

tcp協議客戶端實現:

//建立乙個socket物件,指定伺服器端的ip位址和埠號

socket socket = new socket("192.168.1.104",4567);

//使用inputstream讀取硬碟上的檔案

inputstream inputstream = new

fileinputstream("f://file/words.txt");

//從socket當中得到outputstream

outputstream outputstream = socket.getoutputstream();

byte buffer = new byte[4*1024];

int temp = 0 ;

//將inputstream當中的資料取出,並寫入到outputstream當中

while((temp = inputstream.read(buffer)) != -1)

outputstream.flush();

}tcp協議伺服器端現實:

//宣告乙個serversocket物件

serversocket serversocket = null;

try

} catch (ioexception e)

serversocket.close();

}

Android Socket程式設計

android socket程式設計 建立伺服器的步驟 1.指定埠例項化乙個serversocket。2.呼叫serversocket的accept 以在等待連線期間造成阻塞。3.獲取位於該底層socket的流以進行讀寫操作。4.將資料封裝成流。5.對scoket進行讀寫。6.關閉開啟流。注意 不要...

Android socket程式設計

socket分為兩種 udp和tcp 特點 1.資料要進行打包傳送。2.資料的大包大小有限制 3.面向無連線 4.安全性低不可靠 5.速度快 使用場景 qq群聊 如下 傳送端 public class sendsocket byte bytes line.getbytes 第二步將資料大包,資料報裡...

android Socket 程式設計

socket 通訊 1.udp實現 datagramsocket 客戶端 首先建立乙個datagramsocket物件 datagramsocket socket new datagramsocket 4567 建立乙個inetaddress inetaddress serveraddress in...