关于UDP协议
UDP協議的特點。
1.UDP是一個無連接協議,傳輸數據之前接收端和發送端之間不建立連接。
想傳輸數據的時候就抓取數據扔出去,不監控是否被正確和全面的接受到。
2.因為不需要建立連接,也就不需要維護連接狀態,會因此一臺發送機器可以向多臺接收機器傳輸相同的信息,只需要管理IP和接口。
3.UDP具有較好的實時性,效率高。原因在于UDP在傳輸數據的時候不建立邏輯連接,也不想TCP那樣對數據進行檢查。
?
UDP的使用場景
網絡游戲,視頻聊天和語音聊天類對實時性要求比較強的應用軟件。
例如:在聊天的過程中如果出現丟包現象的話,充其量覺得有些卡頓,一般情況下要求對方從復一遍既可,不影響聊天的整體效果。
并且網絡狀況較好的時候,這種情況很少發生。
public class Client_Udp {public static void main(String[] args) throws Exception {System.out.println("數據準備發送中");//1、使用DatagramScoket 指定端口 創建發送端DatagramSocket dgs =new DatagramSocket(8888);//2、準備數據一定轉成字節數組String data="數據傳輸成功";byte[] datas=data.getBytes();//3、封裝成DatagraPacket包裹,需要指定目的地DatagramPacket dgp =new DatagramPacket(datas, 0, datas.length, new InetSocketAddress("localhost",9999));//4、發送包裹Send() dgs.send(dgp);dgs.close();}?
public class Server_Udp {public static void main(String[] args) throws Exception {System.out.println("數據接收中!");//1.使用DatagramSocket創建端口,指定接收端。DatagramSocket dgs=new DatagramSocket(9999);//2.準備容器封裝成DatagramPacket包裹byte[] container =new byte[1024*60];DatagramPacket dgp =new DatagramPacket(container, 0,container.length);//3.阻塞式接受包裹receive dgs.receive(dgp);//4.分析數據byte[] data=dgp.getData();String st=new String(data,0,data.length);System.out.println(st);dgs.close();轉載于:https://www.cnblogs.com/HappyBeibei/p/11184317.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
- 上一篇: 乱想想关于捕获异常后继续执行的实现。
- 下一篇: hive2