最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java網(wǎng)絡(luò)編程UDP協(xié)議發(fā)送接收數(shù)據(jù)

 更新時間:2021年08月16日 15:44:26   作者:綠芽在山頂  
這篇文章主要為大家詳細(xì)介紹了Java網(wǎng)絡(luò)編程UDP協(xié)議發(fā)送接收數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Java網(wǎng)絡(luò)編程UDP協(xié)議發(fā)送接收數(shù)據(jù)的具體代碼,供大家參考,具體內(nèi)容如下

UDP協(xié)議發(fā)送數(shù)據(jù)步驟

A:創(chuàng)建發(fā)送端socket對象;

B:創(chuàng)建數(shù)據(jù),并把數(shù)據(jù)打包;

C:調(diào)用socket對象的發(fā)送方法發(fā)送數(shù)據(jù)包;

D:釋放資源

package net;
 
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
 
public class SendDemo {
 public static void main(String[] args) throws IOException {
  //A
  DatagramSocket ds = new DatagramSocket();
  
  //B
  byte[] by = "Hello,UDP".getBytes();
  int length = by.length;
  InetAddress addr = InetAddress.getByName("192.168.1.22");
  int port = 10010;
  DatagramPacket dp = new DatagramPacket(by, length, addr, port);
  
  //C
  ds.send(dp);
  
  //D
  ds.close();
  
 }
}

UDP協(xié)議接收數(shù)據(jù)步驟

A:創(chuàng)建接收端socket對象;

B:創(chuàng)建一個數(shù)據(jù)包(接收容器);

C:調(diào)用socket對象的接收方法接收數(shù)據(jù);

D:解析數(shù)據(jù),顯示到控制臺;

E:釋放資源

package net;
 
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
 
public class ReceiveDemo {
 public static void main(String[] args) throws IOException {
  //A
  DatagramSocket ds = new DatagramSocket(10010);
  
  //B
  byte[] by = new byte[1024];
  int length = by.length;
  DatagramPacket dp = new DatagramPacket(by, length);
  
  //C
  ds.receive(dp);
  
  //D
  //獲取對方ip
  InetAddress addr = dp.getAddress();
  String ip = addr.getHostAddress();
  byte[] by2 = dp.getData();
  int len = by2.length;
  String s = new String(by2, 0, len);
  System.out.println(ip+"發(fā)送的數(shù)據(jù)是:"+s);
  
  //E
  ds.close();
 }
}

先運行接收端代碼,再運行發(fā)送端代碼。

多次從鍵盤接收發(fā)送數(shù)據(jù)版本

package net;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
 
public class SendDemo {
 public static void main(String[] args) throws IOException {
  //A
  DatagramSocket ds = new DatagramSocket();
  //數(shù)據(jù)來自鍵盤錄入
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  String line = null;
  while((line = br.readLine()) != null){
   //當(dāng)輸入jieshu時,結(jié)束
   if("jieshu".equals(line)){
    break;
   }
   //B
   byte[] by = line.getBytes();
   int length = by.length;
   InetAddress addr = InetAddress.getByName("192.168.1.22");
   int port = 10010;
   DatagramPacket dp = new DatagramPacket(by, length, addr, port);
    
   //C
   ds.send(dp);
  }
  //D
  ds.close();
  
 }
}
package net;
 
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
 
public class ReceiveDemo {
 public static void main(String[] args) throws IOException {
  //A
  DatagramSocket ds = new DatagramSocket(10010);
  //多次接受版本
  while(true){
   //B
   byte[] by = new byte[1024];
   int length = by.length;
   DatagramPacket dp = new DatagramPacket(by, length);
   
   //C
   ds.receive(dp);
   
   //D
   //獲取對方ip
   InetAddress addr = dp.getAddress();
   String ip = addr.getHostAddress();
   byte[] by2 = dp.getData();
   int len = by2.length;
   String s = new String(by2, 0, len);
   System.out.println(ip+"發(fā)送的數(shù)據(jù)是:"+s);
  }
  
  //E
  //ds.close();
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 超全面的SpringBoot面試題含答案

    超全面的SpringBoot面試題含答案

    這篇文章主要收錄了44道面試中經(jīng)常被問的SpringBoot問題,不管你是正在求職的新手還是已經(jīng)工作很久的高手,這篇關(guān)于SpringBoot的面試題總結(jié)一定會讓你有新的理解,讓我們一起來看看吧
    2023-03-03
  • 一文帶你吃透Java中的String類

    一文帶你吃透Java中的String類

    在 Java 中,字符串是一種常見的數(shù)據(jù)類型,經(jīng)常用于存儲一些文本信息,而String類則是Java提供的專門用于字符串操作的類,本文就來和大家聊聊String類的常用方法與實現(xiàn)原理吧
    2023-05-05
  • ElasticSearch合理分配索引分片原理

    ElasticSearch合理分配索引分片原理

    這篇文章主要介紹了ElasticSearch合理分配索引分片原理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • java進行文件讀寫操作詳解

    java進行文件讀寫操作詳解

    這篇文章主要介紹了java進行文件讀寫操作詳解的相關(guān)資料,需要的朋友可以參考下
    2014-10-10
  • Java為實體類動態(tài)添加屬性的方法詳解

    Java為實體類動態(tài)添加屬性的方法詳解

    這篇文章主要介紹了Java如何給已有實體類動態(tài)的添加字段并返回新的實體對象且不影響原來的實體對象結(jié)構(gòu)。文中的方法講解詳細(xì),需要的可以參考一下
    2022-06-06
  • Java中常用輸出方式(print() println() printf())

    Java中常用輸出方式(print() println() printf())

    這篇文章主要介紹了Java中常用輸出方式(print() println() printf()),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • spring boot的攔截器簡單使用示例代碼

    spring boot的攔截器簡單使用示例代碼

    這篇文章主要介紹了spring boot的攔截器簡單使用實例代碼,需要的的朋友參考下吧
    2017-04-04
  • Spring boot 整合 Okhttp3 并封裝請求工具實例 詳解

    Spring boot 整合 Okhttp3 并封裝請求工具實例 詳解

    OkHttp作為一款成熟、穩(wěn)定、易用的HTTP客戶端庫,擁有較高的性能和多樣化的功能,已被廣泛應(yīng)用于移動應(yīng)用開發(fā)、Web服務(wù)端開發(fā)等領(lǐng)域,這篇文章主要介紹了Spring boot 整合 Okhttp3 并封裝請求工具,需要的朋友可以參考下
    2023-08-08
  • Spring超詳細(xì)講解AOP面向切面

    Spring超詳細(xì)講解AOP面向切面

    面向?qū)ο缶幊淌且环N編程方式,此編程方式的落地需要使用“類”和 “對象”來實現(xiàn),所以,面向?qū)ο缶幊唐鋵嵕褪菍?nbsp;“類”和“對象” 的使用,面向切面編程,簡單的說,就是動態(tài)地將代碼切入到類的指定方法、指定位置上的編程思想就是面向切面的編程
    2022-10-10
  • Spring boot搭建web應(yīng)用集成thymeleaf模板實現(xiàn)登陸

    Spring boot搭建web應(yīng)用集成thymeleaf模板實現(xiàn)登陸

    這篇文章主要介紹了Spring boot搭建web應(yīng)用集成thymeleaf模板實現(xiàn)登陸,頁面使用bootstrap,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12

最新評論

合山市| 鹿泉市| 杭锦旗| 罗平县| 图们市| 民权县| 浮梁县| 龙岩市| 临泉县| 扶沟县| 农安县| 伊金霍洛旗| 周宁县| 朝阳县| 磐石市| 呈贡县| 慈利县| 龙井市| 德钦县| 安陆市| 梅河口市| 喀喇| 温宿县| 漳浦县| 古交市| 武定县| 莒南县| 高阳县| 安福县| 岑巩县| 卢氏县| 永济市| 内乡县| 尉犁县| 贡嘎县| 浮山县| 霞浦县| 湘阴县| 麦盖提县| 怀仁县| 射阳县|