Java实现UDP协议
1.定义
UDP(User Datagram Protocol):用户数据报协议
TCP (Transmission Control Protocol):传输控制协议
上层应用的两个不同的运输层协议。
UDP概述:
- UDP是无连接的。
- UDP使用尽最大努力交付。
- UDP没有拥塞控制。
- UDP是面向报文的。
- UDP支持一对一、多对多、多对一和多对多的交互通信
2.UDP协议发送数据
发送处理过程:
- 创建发送端Socket对象——DatagramSocket
- 创建数据包——DatagramPacket
- 通过Socket发送
- 释放相关资源
发送处理代码:
package udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;public class UDPSend {public static void main(String[] args)throws IOException{
// 指定地址,发送端口,拟好发送内容,创建数据包byte[] data =" hello,udp!".getBytes();InetAddress inetAddress =InetAddress.getByName("127.0.0.1");DatagramPacket dp = new DatagramPacket(data,data.length,inetAddress,6000);
// 实例化,发送到端口6000;DatagramSocket ds = new DatagramSocket();ds.send(dp);
// data1 用来接受反馈的信息byte[] data1 =new byte[1024];DatagramPacket dp1 = new DatagramPacket(data1,data1.length);ds.receive(dp1);int length =dp1.getLength();System.out.println(new String(data1,0,length));ds.close();}
}
3.UDP协议接收数据
接受处理过程:
- 创建接受端Socket对象——DatagramSocket
- 创建数据接收容器 ——DatagramPacket
- 接受数据
- 打印信息
- 释放资源
接受处理代码:
package udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPRecieve {public static void main(String[] args)throws IOException{
// 监视6000端口的内容。DatagramSocket ds =new DatagramSocket(6000);
// 定义接受数据的数据包dpbyte[] data = new byte[1024];DatagramPacket dp = new DatagramPacket(data,data.length);
// 接受数据并打印ds.receive(dp);String ip = dp.getAddress().getHostAddress();int port = dp.getPort();int length = dp.getLength();System.out.println(new String(data,0,length)+"........"+ip+":"+port);
// data1 用来存储反馈信息InetAddress inetAddress = dp.getAddress();byte[] data1 =" i have received!".getBytes();DatagramPacket Sendpacket = new DatagramPacket(data1,data1.length,inetAddress,port);ds.send(Sendpacket);
// 关闭ds.close();}
}
4.心得体会
慢慢体会啊啊啊啊,不要做自己欺骗自己的小傻子啊。
每次学的东西都没入脑,第二天就忘了。
路漫漫其修远兮,吾将上下而求索。
Java实现UDP协议相关推荐
- Java Socket udp协议在网络读卡器上的使用
RFID网络读写器介绍:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-17663462238.11.12cd5b43ejf7s9&i ...
- Java中UDP协议的基本原理和简单用法
UDP协议是非面向连接的,相对于TCP协议效率较高,但是不安全.UDP协议类似发信息的过程,不管接收方是在线还是关机状态,都会把信息发送出去.但是如果接收方不处于接收信息的状态,发送出去的数据包就会丢 ...
- Java 用UDP协议实现远程关机
UDP监听 package com;/*** * 项目名称:CloseWin * 类名称:UDPListener.java * 类描述: * 创建人:Guus * 创建时间:2020年3月16日 上午 ...
- java,NIO,UDP协议网络通信DEMO
@Testpublic void send() throws IOException {DatagramChannel dc = DatagramChannel.open();//设置非阻塞dc.co ...
- java,UDP协议简单实现
//UDP协议简单实现-----Serverpackage UDP;import java.net.DatagramPacket; import java.net.DatagramSocket; im ...
- Java UDP协议传输
使用UDP协议编写一个网络程序,设置接收端程序的监听端口是8001,发送端发送的数据是"Hello, world''. 接收端: 1 import java.net.*; 2 public ...
- 【Java网络编程(一)】IP地址、端口、URL、网络爬虫原理、TCP UDP协议
IP地址与域名的获取 package cn.hanquan.test;import java.net.InetAddress; import java.net.UnknownHostException ...
- JAVA socket编程 Datagram套接字 UDP协议(转)
查看文章 JAVA socket编程 Datagram套接字 UDP协议 2009-05-13 09:35 1 UDP套接字 数据报(Datagram)是网络层数据单元在介质上传输信息的一 ...
- Java基于socket服务实现UDP协议的方法
转载自 Java基于socket服务实现UDP协议的方法 这篇文章主要介绍了Java基于socket服务实现UDP协议的方法,通过两个简单实例分析了java通过socket实现UDP发送与接收的技巧, ...
最新文章
- 一次使用Eclipse Memory Analyzer分析weblogic内存溢出
- 3D Reconstruction三维重建halcon算子,持续更新
- java scala 获取类_在Scala 2.10中获取java.lang.Class [T]的Scala类型
- C# 制作不规则窗体的两种解决方案
- PB中实现备份数据库/还原数据库
- php curl设置headers,php curl如何设置头部信息
- TI DSP 28335 自学之路,到此止步
- 将VBB文件转换成XML文件
- 英语教学计划软件测试,第一学期英语教学计划
- 电商产品精修训练营第3天_ps抠图
- [计算机网络]网络层IP协议 选路算法
- MySQL中Index与Key的区别
- mac 设置mysql登录快捷键_史上最详细的苹果Macbook快捷键使用
- Kafka节点扩容、缩容后reassign partition
- 软件使用:如何用Mac做热点。
- 0.96寸OLED(SSD1306)屏幕显示(三)——屏幕垂直水平滚动
- 性能测试基础及loadRunner的使用(超详细)
- 关于“与google服务器通信时出现问题“
- 2018年中国数字经济发展报告:农村数字消费增速超一二线城市
- java桌面通讯录源码_TONGXUNLU JAVA通讯录源码 JAVA课程设计源码 讯友桌面通讯录 通讯录管理 - 下载 - 搜珍网...