发送端:

package demo02;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.UnknownHostException; /*
* 实现UDP协议的发送端:
* 实现封装数据的类 java.net.DatagramPacket 将你的数据包装
* 实现数据传输类 java.net.DatagramSocket 将数据包发出去
*
* 实现步骤:
* 1.创建DatagramPacket对象,封装数据,接收的地址和端口
* 2.创建DatagramSocket对象,
* 3.调用DatagramSocket类的方法send,发送数据包
* 4.关闭资源
*
* DatagramPacket构造方法:
* DatagramPacket(byte[] buf,int length,InetAddress address,int port)
*
* DatagramSocket构造方法:
* DatagramSocket()空参数
* 方法:send(DatagramPacket d)
*
*
*/
public class UDPSend {
public static void main(String[] args) throws IOException {
//创建数据包对象,封装要发送的数据,接受端IP,端口
byte[] data="你好UDP".getBytes();
//创建InetAddress对象,封装自己的IP地址
InetAddress inet=InetAddress.getByName("127.0.0.1");
DatagramPacket dp=new DatagramPacket(data,data.length,inet,6000);
//创建DatagramSocket对象,数据包的发送和接受对象
DatagramSocket ds=new DatagramSocket();
//调用ds对象的方法send,发送数据包
ds.send(dp);
ds.close(); }
}

接收端

package demo01;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket; /*
* 实现UDP接收端
* 实现封装数据包java.net.DatagramPacket 将数据接收
* 实现输出传输 java.net.DatagramSocket 接受数据包
*
* 实现步骤:
* 1.创建DatagramSocket对象,绑定端口号
* 要和发送数据端口号一致
* 2.创建字节数组,接受发来的数组
* 3.创建数据包对象DatagramPacket
* 4.调用DatagramSocket对象方法 receive(DatagramPacket dp)
* 接受数据,数据放在数据包中
* 5.拆包
* 发送的IP地址
* 数据包对象DatagramPacket()方法getAddress()获取的是发送端的IP地址对象
* 接受到的字节个数
* 数据包对象DatagramPacket()方法getLength()
* 发送方的端口号
* 数据包对象DatagramPacket()方法getPort()
* 6.关闭资源
*/
public class UDPReceive {
public static void main(String[] args) throws IOException {
//创建数据包传输对象DatagramSocket 绑定端口号
DatagramSocket ds=new DatagramSocket(6000);
//创建字节数组
byte[] data=new byte[1024];
//创建数据包对象,传递字节数组
DatagramPacket dp=new DatagramPacket(data, data.length);
//调用ds对象的方法receive传递数据包
ds.receive(dp); //获取发送端的IP地址对象
String ip=dp.getAddress().getHostAddress(); //获取发送的端口号
int port=dp.getPort(); //获取接收到的字节数
int length=dp.getLength();
System.out.println(new String(data,0,length)+"...."+ip+":"+port);
ds.close(); }
}

java实现udp发送端和接收端的更多相关文章

  1. Udp发送端和接收端

    //UdpReceive.java /* 定义udp的接收端. 思路: 1.定义udpSocket服务.一般会监听一个端口,事实上就是这个接收网络应用程序定义一个数字标示. 2.定义一个数据包.用来存 ...

  2. c/c++ 网络编程 UDP 发送端 bind 作用

    网络编程 UDP 发送端 bind 作用 upd 发送端 调用bind函数的效果:把socket特定到一个指定的端口,如果不调用bind,内核会随机分配一个端口. upd 发送端 调用bind函数的目 ...

  3. 基于C#的UDP通信(使用UdpClient实现,包含发送端和接收端)

    UDP不属于面向连接的通信,在选择使用协议的时候,选择UDP必须要谨慎.在网络质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重.但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小, ...

  4. 网络编程_UDP协议_发送端与接收端

    创建UDP传输的发送端 : 1.建立udp的socket服务   2.将要发送的数据封装到数据包中   3.通过udp的socket服务 将数据包发送出去   4.关闭socket服务(因为调用了系统 ...

  5. PL/SQL 调用JAVA使用UDP发送数据

    步骤如下 1.直接在SQL命令中写入JAVA代码(用SYS帐号执行,不然权限等太麻烦) create or replace and resolve java source named udp as i ...

  6. Java使用UDP发送数据到InfluxDB

    最近在做压测引擎相关的开发,需要将聚合数据发送到InfluxDB保存以便实时分析和控制QPS. 下面介绍对InfluxDB的使用. 什么是InfluxDB InfluxDB是一款用Go语言编写的开源分 ...

  7. python rabbitMQ 发送端和接收端广播模式。

    消费者模型: import pika,time consumer = pika.BlockingConnection\ (pika.ConnectionParameters('localhost')) ...

  8. UDP接收端和发送端_Socket编程

    UDP接收端 接收端启动文件 1 import java.net.DatagramSocket; 2 import java.net.SocketException; 3 4 public class ...

  9. java 之UDP编程

    大白话:每一台电脑都有自己的ip地址,向指定的ip地址发数据,数据就发送到了指定的电脑.UDP通信只是一种通信方式而已,其特点就不多说.有了ip地址数据就能发送到指定的电脑了,但是呢!我把数据发送到电 ...

随机推荐

  1. oracle 11gR2 for win7旗舰版64安装以及连接plsql和NaviCat(win64_11gR2_database) (2012-12-31-bd 写的日志迁移

    先到oracle官网http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html下载必要数 ...

  2. 2017 ACM-ICPC网络赛 H.Skiing 有向图最长路

    H.Skiing In this winter holiday, Bob has a plan for skiing at the mountain resort. This ski resort h ...

  3. kettle - Linux下定时执行kettle作业

    Linux下实现kettle 自动同步数据 1.安装jdk tar -zxvf jdk-7u25-linux-x64.tar.gz -C /usr/share 2.配置java环境 vim /etc/ ...

  4. Java文件 ---流

    分类 根据数据走向,分为输入流.输出流 根据处理的数据类型,分为字节流.字符流 字节流 可以处理所有类型的数据,如MP3.图片.文字.视频等.在读取时,读到一个字节就返回一个字节. 在Java中对应的 ...

  5. P2920 [USACO08NOV]时间管理Time Management

    P2920 [USACO08NOV]时间管理Time Management 题目描述 Ever the maturing businessman, Farmer John realizes that ...

  6. 介绍 Active Directory 域服务 (AD DS) 虚拟化

    TechNet 库 Windows Server Windows Server 2012 R2 和 Windows Server 2012 服务器角色和技术 Active Directory Acti ...

  7. leetcode 【 Reorder List 】python 实现

    题目: Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do ...

  8. 踩坑 PHP Fatal Error Failed opening required File

    使用 require 引用文件时,报错如下: require 'https://dev.ryan.com/test.php'; [Sat Mar 19 23:10:50 2011] [warn] mo ...

  9. 爬虫:Scrapy3 - Items

    Item 对象是种简单的容器,保存了爬取到得数据.其提供了类似于词典(dictionary-like)的API以及用于声明可用字段的简单语法. 声明Item import scrapy class P ...

  10. 课堂笔记III