zoukankan      html  css  js  c++  java
  • UDP 端到端

     创建发送端

    1.建立DatagramSocket对象,该端点建立,系统会随机分配一个端口,如果不想随机分配,可手动指定。

    2.将数据进行packet封装,必须指定目的地址和端口。

    3.通过socket服务的send方法将该包发出。

    4,。将socket关闭。

     1 package UDP;
     2 
     3 import java.io.IOException;
     4 import java.net.DatagramPacket;
     5 import java.net.DatagramSocket;
     6 import java.net.InetAddress;
     7 import java.net.SocketException;
     8 import java.net.UnknownHostException;
     9 
    10 public class Demo1 {
    11 
    12     public static void main(String[] args) throws IOException {
    13         
    14         DatagramSocket socket = new DatagramSocket();
    15     
    16         String str = "hello";
    17         // 打包封装
    18         DatagramPacket packet = new DatagramPacket(str.getBytes(), str.length(), InetAddress.getByName("localhost"),
    19                 8000);
    20         socket.send(packet);// 发送
    21 
    22         // 接收
    23 
    24         byte[] buff = new byte[100];
    25         DatagramPacket packet2 = new DatagramPacket(buff, 100);
    26         socket.receive(packet2);
    27         System.out.println(new String(buff, 0, packet2.getLength()));
    28         socket.close();
    29     }
    30 
    31 }

     创建接收端

    1.建立DatagramSocket对象,要监听一个端口。

    2.通过socket的recevie方法将数据存入数据包中。

    3.通过数据包的方法getData()、getAddress()、getPort()、等方法获取包中的指定信息。

    4.将socket关闭

     1 package UDP;
     2 
     3 import java.io.IOException;
     4 import java.net.DatagramPacket;
     5 import java.net.DatagramSocket;
     6 import java.net.InetAddress;
     7 import java.net.SocketException;
     8 
     9 public class Demo2 {
    10 
    11     public static void main(String[] args) throws IOException {
    12         //接收
    13         DatagramSocket socket = new DatagramSocket(8000);
    14         byte[] buff = new byte[100];
    15         DatagramPacket packet = new DatagramPacket(buff, 100);
    16         socket.receive(packet);
    17         System.out.println(new String (buff,0,packet.getLength()));
    18 
    19         //发送
    20         String str = "me too";
    21         DatagramPacket packet2 = new DatagramPacket(str.getBytes(), str.length(), packet.getAddress(),
    22                 packet.getPort());
    23         socket.send(packet2);
    24         socket.close();
    25 
    26     }
    27 
    28 }
  • 相关阅读:
    15 鼠标事件
    09 属性操作
    06 DOM操作之插入节点
    03 如何处理多个库$冲突的问题
    01 jquery引入
    08 千千音乐盒实现全选和反选
    03 衣服相册切换效果
    02 显示和隐藏图片
    01 图片切换
    派生
  • 原文地址:https://www.cnblogs.com/the-wang/p/7112272.html
Copyright © 2011-2022 走看看