udp使用的特點是傳送方和接收方是完全平等的。
對於傳送方,先鏈結自己的埠
//建立資料報套接字並將其繫結到 本地主機上的指定埠。
datagramsocket client=
newdatagramsocket
(8888
);
將要傳送的資料換成位元組陣列形式
string data=
"仙桃中學"
;byte
datas=data.
getbytes()
;
然後使用datagrampacket進行打包,這個類有不同的構造方法,既可以進行傳送包,又能接受包。 在傳送時構造器成員分別是
位元組陣列,開始讀取的位置,讀取的長度,埠位置(就是傳送的位址)
datagrampacket packet=
newdatagrampacket
( datas,
0,datas.length,
newinetsocketaddress
("localhost"
,9999))
;
還需要進行傳送和關閉的操作
client.
send
(packet)
;//需要進行close操作
client.
close()
;
下面設定接收端,
先設定自己埠
//繫結埠
datagramsocket server=
newdatagramsocket
(9999
);
從自己的埠之中拿來資料,用字元陣列存放資料,因為傳輸的資料一次不超過6k,所以設定容器大小為6k
byte
container=
newbyte
[1024*6
];//datagrampacket既可以傳送包裹,又可以接收包裹
datagrampacket packet=
newdatagrampacket
(container,
0,container.length)
;
將資料放入埠已經準備好的容器之中,相當於將資料複製到了乙個新的包裹之中。
server.
receive
(packet)
;
不能通過container直接拿出裡面的資料,datagrampacket有單獨的方法拿出這個位元組陣列
byte
datas=packet.
getdata()
;int len=packet.
getlength()
; system.out.
println
(new
string
(datas,
0,len)
);
(一)UDP基本程式設計步驟
udp服務端程式設計分5步 1.建立 udp socket套接字,用socket函式。2.設定socket的屬性,用setsockopt 函式,可選 3.往socket繫結包含 ip資訊,位址資訊的 struct sockaddr in ipv4 結構體。用bind 函式 4.迴圈接收訊息,用rec...
8 UDP程式設計 基本步驟
傳輸的大小有限制,一般小於60k 1 使用datagramsocket 指定埠建立接收端 2 準備容器,封裝成datagrampacket包裹 3 阻塞式接收包裹receive datagrampacket p 4 分析資料 byte getdata getlength 5 釋放資源 public ...
udp 的基本使用
udp通訊 資料報協議 自帶報頭 沒有雙向通道 通訊類似於發簡訊 1.udp協議客戶端允許發空 2.udp協議不會粘包 3.udp協議服務端不存在的情況下,客戶端照樣不會報錯?4.udp協議支援併發 udp類似於發簡訊 tcp類似於打 併發 看起來像同時執行的 並行 真正意義上的同時執行客戶端 im...