亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

java實現udp通訊的代碼

2024-07-14 08:42:23
字體:
來源:轉載
供稿:網友

需求:應用A(通常有多個)和應用B(1個)進行 socket通訊,應用A必須知道應用B的ip地址(在應用A的配置文件中寫死的),這個時候就必須把應用B的ip設成固定ip(但是某些時候如更換路由后要重新設置網絡,但是操作人員不知道這個規則),就有可能造成應用A和應用B無法進行正常通訊,所以要改成應用A動態獲取應用B的ip地址。

經過討論決定采用udp協議實現,upd是一種無連接的傳輸層協議。應用A在不知道應用B的 ip情況下 可以使用廣播地址255.255.255.255,將消息發送到在同一廣播網絡上的B。從而獲取B的ip。

實現代碼:

B應用為服務端:將udp監聽放到一個線程中,當有客戶端請求時就會進行響應

/** * udp連接,用于動態ip, pos向255.255.255.255:5060發送請求即可 * **/public class UdpServer extends Thread implements Runnable {  private final int MAX_LENGTH = 1024;  private final int PORT = 5060;  private DatagramSocket datagramSocket;    public void run() {    try {      init();      while(true){        try {          byte[] buffer = new byte[MAX_LENGTH];          DatagramPacket packet = new DatagramPacket(buffer, buffer.length);          receive(packet);          String receStr = new String(packet.getData(), 0 , packet.getLength());          System.out.println("接收數據包" + receStr);          byte[] bt = new byte[packet.getLength()];                    System.arraycopy(packet.getData(), 0, bt, 0, packet.getLength());          System.out.println(packet.getAddress().getHostAddress() + ":" + packet.getPort() + ":" + Arrays.toString(bt));          packet.setData(bt);          response(packet);                  } catch (Exception e) {          e.printStackTrace();          LoggerUtil.error("udp線程出現異常:" + e.toString());        }      }    } catch (Exception e) {      e.printStackTrace();    }  }  public void receive(DatagramPacket packet) throws Exception {    datagramSocket.receive(packet);  }  public void response(DatagramPacket packet) throws Exception {    datagramSocket.send(packet);  }    /**   * 初始化連接   */  public void init(){    try {      datagramSocket = new DatagramSocket(PORT);      System.out.println("udp服務端已經啟動!");    } catch (Exception e) {      datagramSocket = null;      System.out.println("udp服務端啟動失??!");      e.printStackTrace();    }  }}

客戶端:本來客戶端是使用pb來實現的,但是這里使用java來模擬

/*** * UDP Client端 ***/public class UdpClient {    private String sendStr = "hello";  private String netAddress = "255.255.255.255";  private final int PORT = 5060;    private DatagramSocket datagramSocket;  private DatagramPacket datagramPacket;    public UdpClient(){    try {       datagramSocket = new DatagramSocket();      byte[] buf = sendStr.getBytes();      InetAddress address = InetAddress.getByName(netAddress);      datagramPacket = new DatagramPacket(buf, buf.length, address, PORT);      datagramSocket.send(datagramPacket);            byte[] receBuf = new byte[1024];      DatagramPacket recePacket = new DatagramPacket(receBuf, receBuf.length);      datagramSocket.receive(recePacket);            String receStr = new String(recePacket.getData(), 0 , recePacket.getLength());             //獲取服務端ip      String serverIp = recePacket.getAdress();    } catch (SocketException e) {      e.printStackTrace();    } catch (UnknownHostException e) {      e.printStackTrace();    } catch (IOException e) {      e.printStackTrace();    } finally {      // 關閉socket      if(datagramSocket != null){        datagramSocket.close();      }    }  }    public static void main(String[] args) {    for (int i = 0; i < 100; i++) {      new Thread(new Runnable() {        @Override        public void run() {          UdpClient udpClient = new UdpClient();        }      }).start();    }  }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲大胆人体在线| 久久国产精品电影| 日韩免费在线电影| 欧洲亚洲在线视频| 国产精品久久久久久久久久久久| 国产精品www| 成人免费看吃奶视频网站| 亚洲国产天堂久久综合| 国产黑人绿帽在线第一区| 17婷婷久久www| 日韩经典中文字幕| 亚洲xxxxx性| 欧美精品videossex88| 色综合久久中文字幕综合网小说| 亚洲欧美制服另类日韩| 日韩中文字幕不卡视频| 538国产精品视频一区二区| 久久久久中文字幕2018| 最近2019年中文视频免费在线观看| 精品中文视频在线| 国产亚洲精品一区二555| 国产精品青草久久久久福利99| 亚洲午夜激情免费视频| 亚洲色图偷窥自拍| 欧美中文字幕在线视频| 欧美一级视频一区二区| 精品毛片三在线观看| 精品久久久999| 国产精品揄拍一区二区| 人人爽久久涩噜噜噜网站| 久久综合伊人77777蜜臀| 亚洲国产欧美一区二区三区久久| 亚洲福利在线视频| 精品久久久国产| 欧美www在线| 欧美一区三区三区高中清蜜桃| 精品成人国产在线观看男人呻吟| 亚洲二区中文字幕| 日韩欧美一区二区在线| 欧美精品18videos性欧| 狠狠操狠狠色综合网| 精品视频—区二区三区免费| 欧美激情xxxx| 亚洲精品日韩久久久| 成人久久一区二区三区| 日韩欧美有码在线| 国外成人在线视频| 亲爱的老师9免费观看全集电视剧| 久久精品美女视频网站| 亚洲欧美国产精品va在线观看| 欧美日韩福利在线观看| 亚洲人a成www在线影院| 国产精品亚洲美女av网站| 久久精品亚洲94久久精品| www.久久久久久.com| 国产香蕉精品视频一区二区三区| 57pao国产成人免费| 日韩欧美国产成人| 亚洲www永久成人夜色| 日韩欧美成人区| 欧美成人免费观看| 国产精品中文字幕在线| 亚洲欧美色图片| 日本三级韩国三级久久| 亚洲人成电影网| 日韩美女在线观看| 久久久久久久影视| 欧美黑人性猛交| 国产成人精品日本亚洲| 日韩精品在线私人| 日韩欧美在线国产| 秋霞成人午夜鲁丝一区二区三区| 成人在线免费观看视视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 美女福利视频一区| 中文字幕在线看视频国产欧美在线看完整| 欧美精品久久一区二区| 中文字幕在线日韩| 欧美黄色成人网| 久久久久国色av免费观看性色| 国产在线观看精品一区二区三区| 亚洲欧洲日韩国产| 亚洲开心激情网| 欧美第一黄网免费网站| 亚洲欧美变态国产另类| 精品调教chinesegay| 日韩精品在线播放| 亚洲第一精品自拍| 日本不卡高字幕在线2019| 色偷偷av一区二区三区| 亚洲性视频网址| 成人免费淫片aa视频免费| 九九视频这里只有精品| 成人激情av在线| 在线观看91久久久久久| 久久不射电影网| 日韩最新av在线| 国产一区二区三区精品久久久| 日韩少妇与小伙激情| 中文字幕精品在线| 欧美激情视频网站| 国产成人精品日本亚洲专区61| 亚洲人成网站777色婷婷| 欧美午夜激情小视频| 久久精品国产99国产精品澳门| 4438全国成人免费| 亚洲美女性生活视频| 国产精品v片在线观看不卡| 成人激情视频在线观看| 亚洲国产精品一区二区三区| 国产区亚洲区欧美区| 国内精品久久久久| 国内精品模特av私拍在线观看| 亚洲成人免费在线视频| 日本午夜在线亚洲.国产| 亚洲美女www午夜| 午夜免费在线观看精品视频| 亚洲福利视频网| 57pao国产精品一区| 亚洲精品视频中文字幕| 韩国19禁主播vip福利视频| 亚洲精品久久久久久久久久久久久| 欧美日韩在线视频观看| 欧美中文在线免费| 在线观看不卡av| 热久久免费视频精品| zzijzzij亚洲日本成熟少妇| 欧洲精品在线视频| 国产日韩欧美视频在线| 日韩激情av在线免费观看| 国产精品欧美一区二区| 成人福利在线视频| 美女国内精品自产拍在线播放| 色婷婷av一区二区三区在线观看| 欧美日韩在线一区| 在线精品视频视频中文字幕| 日韩在线视频免费观看高清中文| 国产精国产精品| 亚洲老头同性xxxxx| 日韩在线免费视频观看| 中文国产成人精品久久一| www.久久久久久.com| 日韩av影视在线| 日韩电影免费观看中文字幕| 91精品国产综合久久香蕉的用户体验| 日韩美女视频免费看| 日本精品免费一区二区三区| 日韩国产欧美精品在线| 色妞在线综合亚洲欧美| 欧日韩在线观看| 国产欧美精品一区二区三区介绍| 亚洲最新av网址| 日韩精品中文字幕在线播放| 91极品女神在线| 国产精品69精品一区二区三区| 欧美午夜宅男影院在线观看| 91九色国产视频| 成人国产精品一区| 成人a视频在线观看| 97视频免费在线看| 欧美激情亚洲精品| 国产www精品| 欧美高清性猛交| 欧美午夜精品久久久久久人妖|