zoukankan      html  css  js  c++  java
  • 9.UDP

    发短信:不用连接,需要知道对方的地址!就像发射导弹,我需要知道轰炸地点,但不需要告诉对方,秘密轰炸,嘿嘿。
    需要了解DatagramPacket,DatagramSocket两个类
    发送端:
     1 package com.Inet.lesson3;
     2 
     3 import java.net.DatagramPacket;
     4 import java.net.DatagramSocket;
     5 import java.net.InetAddress;
     6 
     7 //不需要连接服务器
     8 public class UdpClientDemo01 {
     9     public static void main(String[] args) throws Exception {
    10         //1.建立一个Socket
    11         DatagramSocket socket = new DatagramSocket();
    12 
    13         //2.建个包
    14         String msg = "你好啊,服务器";
    15 
    16         //发送给谁
    17         InetAddress localhost = InetAddress.getByName("localhost");
    18         int port = 9090;
    19         DatagramPacket packet = new DatagramPacket(msg.getBytes(), 0, msg.getBytes().length, localhost, port);
    20 
    21         //3.发送包
    22         socket.send(packet);
    23 
    24         //4.关闭流
    25         socket.close();
    26     }
    27 }
    接收端
     1 package com.Inet.lesson3;
     2 
     3 import java.net.DatagramPacket;
     4 import java.net.DatagramSocket;
     5 
     6 //还是要等待客户端的链接!
     7 public class UdpServerDemo01 {
     8     public static void main(String[] args) throws Exception {
     9         //开放端口
    10         DatagramSocket socket = new DatagramSocket(9090);
    11 
    12         //接收数据包
    13         byte[] buffer = new byte[1024];
    14         DatagramPacket packet = new DatagramPacket(buffer, 0, buffer.length);//接收
    15 
    16         socket.receive(packet);//阻塞接收
    17 
    18         System.out.println(packet.getAddress().getHostAddress());
    19         System.out.println(new String(packet.getData(), 0, packet.getLength()));
    20 
    21         //关闭连接
    22         socket.close();
    23     }
    24 }
    25 
    26 //先启动接收端,再启动发送端
    27 结果:
    28 127.0.0.1
    29 你好啊,服务器
  • 相关阅读:
    java中断
    guava cache使用和源码分析
    redis基本类型和使用
    LRU Cache java实现
    HTTP长连接、短连接使用及测试
    mac下redis安装、设置、启动停止
    一次SocketException:Connection reset 异常排查
    【swift 结构体】
    【swift array 数组】
    【iOS知识汇】NSNotification
  • 原文地址:https://www.cnblogs.com/duanfu/p/12600219.html
Copyright © 2011-2022 走看看