android Socket 程式設計

2021-08-27 02:17:04 字數 2281 閱讀 2337

socket 通訊

1.udp實現 (datagramsocket)

【客戶端】

//首先建立乙個datagramsocket物件

datagramsocket socket = new datagramsocket(4567);

//建立乙個inetaddress

inetaddress serveraddress = inetaddress.getbyname("192.168.1.104");

string str = "hello"; //這是要傳輸的資料

byte data = str.getbytes(); //把傳輸內容分解成位元組

//建立乙個datagrampacket物件,並指定要講這個資料報傳送到網路當中的哪個、位址,以及埠號

datagrampacket packet = new datagrampacket(data,data.length,serveraddress,4567);

//呼叫socket物件的send方法,傳送資料

socket.send(packet);

【伺服器端】

//建立乙個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());

2.tcp通訊

【客戶端】

建立一socket物件並指明伺服器端的ip及埠號

socket socket = new socket("192.168.1.0",45678);

//向伺服器傳送訊息

printwriter out = new printwriter(new bufferedwriter(new outputstreamwriter(socket.getoutputstream())), true);

out.println(message);

//從伺服器接收訊息

bufferedreader is = new bufferedreader(new inputstreamreader(socket.getinputstream()));

string rstring = is.readline().tostring();

【伺服器端】

//建立乙個serversocket物件,並讓這個socket在45678埠監聽

serversocket = new serversocket(45678);

//呼叫serversocket的accept()方法,接受客戶端所傳送的請求,

//如果客戶端沒有傳送資料,那麼該執行緒就停滯不繼續

socket socket = serversocket.accept();

//從socket當中得到inputstream物件

inputstream inputstream = socket.getinputstream();

byte buffer = new byte[1024*4];

int temp = 0;

//從inputstream當中讀取客戶端所傳送的資料

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

【socket獲取客戶端ip位址及埠號】

socket類包含一些非常有用的屬性,這些屬性允許確定關於正在連線的客戶端的資訊。其中關鍵資訊之一

是返回endpoint物件的remoteendpoint屬性。endpoint類本身是抽象的,要想收集有用的資訊,需·要把

tcplistener tcpl=new tcplistener(port);

socket s=tcpl.acceptsocket();

label1.text=((ipendpoint)s.remoteendpoint).address.tostring();

label2.text=((ipendpoint)s.remoteendpoint).port.tostring();

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網路程式設計

今天簡單記錄下,android下的socket網路程式設計,socket網路程式設計最為廣泛的為tcp協議和udp協議 伺服器端首先宣告乙個servcersocket物件,並指定埠號,然後呼叫serversocket的accept 方法介面客戶端傳送的資料,accepter 方法在沒有接收到資料時,...