java利用udp實(shí)現(xiàn)發(fā)送數(shù)據(jù)
本文實(shí)例為大家分享了java利用udp實(shí)現(xiàn)發(fā)送數(shù)據(jù)的具體代碼,供大家參考,具體內(nèi)容如下
1.udp的特點(diǎn)
- 數(shù)據(jù)以包的形式發(fā)送數(shù)據(jù)
- udp是面向無(wú)連接的
- udp會(huì)丟失數(shù)據(jù),是一種不安全的連接
- udp的傳輸速度較快
2.發(fā)送端
package cn.uu710.SocketTest;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
public class Send1 {
public static void main(String[] args) {
try {
DatagramSocket datagramSocket = new DatagramSocket();
String data = "這是張佑發(fā)送的消息!";
DatagramPacket datagramPacket = new DatagramPacket(data.getBytes(),data.getBytes().length,InetAddress.getLocalHost(),8088);
//發(fā)送
System.out.println("正在準(zhǔn)備發(fā)送……");
datagramSocket.send(datagramPacket);
System.out.println("已發(fā)送……");
datagramSocket.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
3.接收端
package cn.uu710.SocketTest;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import com.sun.org.apache.bcel.internal.generic.NEW;
public class receive1 {
public static void main(String[] args) {
try {
DatagramSocket datagramSocket = new DatagramSocket(8088);
byte[] b = new byte[1024];
DatagramPacket datagramPacket = new DatagramPacket(b,b.length);
System.out.println("正在準(zhǔn)備接收……");
//未接收之前為阻塞狀態(tài)
datagramSocket.receive(datagramPacket);
System.out.println("接收內(nèi)容:"+new String(b,0,b.length));
System.out.println("已經(jīng)接收……");
datagramSocket.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
4. 運(yùn)行程序
先啟動(dòng)接收端,再運(yùn)行發(fā)送端
啟動(dòng)接收端后,程序并未停止,因?yàn)檫€未接收到消息

再啟動(dòng)發(fā)送端,此時(shí)接收端成功接收到消息,之后程序停止

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
springboot使用GuavaCache做簡(jiǎn)單緩存處理的方法
這篇文章主要介紹了springboot使用GuavaCache做簡(jiǎn)單緩存處理的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2019-01-01
SpringBoot項(xiàng)目整合mybatis的方法步驟與實(shí)例
今天小編就為大家分享一篇關(guān)于SpringBoot項(xiàng)目整合mybatis的方法步驟與實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03
Spring boot創(chuàng)建自定義starter的完整步驟
這篇文章主要給大家介紹了關(guān)于Spring boot創(chuàng)建自定義starter的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
JavaWeb實(shí)戰(zhàn)之用Servlet+JDBC實(shí)現(xiàn)用戶登錄與注冊(cè)
這篇文章主要介紹了JavaWeb實(shí)戰(zhàn)之用Servlet+JDBC實(shí)現(xiàn)用戶登錄與注冊(cè),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有很大的幫助,需要的朋友可以參考下2021-04-04
SpringBoot項(xiàng)目jar和war打包部署方式詳解
這篇文章主要為大家介紹了SpringBoot項(xiàng)目jar和war打包部署方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
Json轉(zhuǎn)化為Java對(duì)象的實(shí)例詳解
這篇文章主要介紹了Json轉(zhuǎn)化為Java對(duì)象的實(shí)例詳解的相關(guān)資料,前后端數(shù)據(jù)交互的情況經(jīng)常會(huì)遇到Json串與java 對(duì)象的相互轉(zhuǎn)換方便操作,需要的朋友可以參考下2017-08-08
SpringMVC @RequestBody屬性名大寫字母注入失敗的解決
這篇文章主要介紹了SpringMVC @RequestBody屬性名大寫字母注入失敗的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
Spring框架配置java web實(shí)現(xiàn)實(shí)例化
這篇文章主要介紹了Spring框架配置java web實(shí)現(xiàn)實(shí)例化,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04

