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 你好啊,服务器
  • 相关阅读:
    关于Spring Test 小结
    排他思想---->tab选项卡
    对金额的格式化
    js 对多个id 的封装方法
    form表单数据封装成json格式并提交给服务器
    js技巧专题篇: 页面跳转
    对象流
    线程
    异常处理、常见异常说明
    数据库(概念、语法、DBMS、SQL语言:创建数据库、表格,添加、修改、删除数据记录)
  • 原文地址:https://www.cnblogs.com/duanfu/p/12600219.html
Copyright © 2011-2022 走看看