//UDP协议简单实现-----Serverpackage UDP;import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;public class UdpServer implements Runnable {private int port;public UdpServer(int port) {this.port = port;}public void run() {try {// listening at port for udp requestDatagramSocket server = new DatagramSocket(new InetSocketAddress(port));byte[] bs = new byte[4];ByteBuffer bbuf = null;DatagramPacket data = new DatagramPacket(bs, bs.length);server.setSoTimeout(1000 * 10); // set timeoutwhile (true) { // 一直监听
                server.receive(data);bbuf = ByteBuffer.wrap(bs, 0, 4);String s = "receive " + data.getData().length + " byte data,value: " + bbuf.getInt();System.out.println(s);}} catch (Exception e) {e.printStackTrace();}}public static void main(String[] args) {new Thread(new UdpServer(11111)).start();}
}

//客户端实现;

package UDP;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetSocketAddress;public class UdpClient implements Runnable {private int port;public UdpClient(int port) {this.port = port;}public void run() {try {DatagramSocket client = new DatagramSocket();byte[] bs = new byte[4];InetSocketAddress isa = new InetSocketAddress("localhost", port);DatagramPacket data = new DatagramPacket(bs, bs.length);data.setSocketAddress(isa);for (int i = 0; i < 10; i++) {data.setData(int2bytes(i));client.send(data);}} catch (Exception e) {e.printStackTrace();}}static byte[] int2bytes(int num) {byte[] b = new byte[4];for (int i = 0; i < 4; i++) {b[i] = (byte) (num >>> (24 - i * 8));}return b;}}

//测试代码;

package UDP;public class Test {public static void main(String[] args) throws InterruptedException {int port = 11111;try{new Thread(new UdpServer(port)).start();new Thread(new UdpClient(port)).start();}catch(Exception e){//e.printStackTrace();
        }}
}

转载于:https://www.cnblogs.com/qianyukun/p/4308785.html

java,UDP协议简单实现相关推荐

  1. Java UDP协议传输

    使用UDP协议编写一个网络程序,设置接收端程序的监听端口是8001,发送端发送的数据是"Hello, world''. 接收端: 1 import java.net.*; 2 public ...

  2. java udp 协议_网络协议 - UDP 协议详解

    ¶ 网络协议 - UDP 协议详解 基于TCP和UDP的协议非常广泛,所以也有必要对UDP协议进行详解.@pdai ¶ UDP概述 UDP(User Datagram Protocol)即用户数据报协 ...

  3. 计算机网络-UDP协议

    目录 1 概述 2 UDP的主要特点 3 UDP的首部格式 3.1 传输关系 3.2 首部格式 3.3 UDP 基于端口的分用和复用 3.4 UDP校验 1 概述 用户数据报协议(UDP,User D ...

  4. TCP和UDP协议的主要特点和应用场合

    UDP的主要特点是: (1)传送数据前无需要建立连接,没有流量控制机制,数据到达后也无需确认. (2)不可靠交付,只有优先的的差错控制机制. (3)报文头部段,传输开销小,时延较短. 因此,UDP协议 ...

  5. java udp简单聊天程序_Java基于UDP协议实现简单的聊天室程序

    最近比较闲,一直在抽空回顾一些java方面的技术应用. 今天没什么事做,基于udp协议,写了一个非常简单的聊天室程序. 现在的工作,很少用到socket,也算是对java网络编程方面的一个简单回忆. ...

  6. java udp 聊天室_Java基于UDP协议实现简单的聊天室程序

    最近比较闲,一直在抽空回顾一些Java方面的技术应用. 今天没什么事做,基于UDP协议,写了一个非常简单的聊天室程序. 现在的工作,很少用到socket,也算是对Java网络编程方面的一个简单回忆. ...

  7. Java中UDP协议的基本原理和简单用法

    UDP协议是非面向连接的,相对于TCP协议效率较高,但是不安全.UDP协议类似发信息的过程,不管接收方是在线还是关机状态,都会把信息发送出去.但是如果接收方不处于接收信息的状态,发送出去的数据包就会丢 ...

  8. 【Java网络编程(一)】IP地址、端口、URL、网络爬虫原理、TCP UDP协议

    IP地址与域名的获取 package cn.hanquan.test;import java.net.InetAddress; import java.net.UnknownHostException ...

  9. JAVA socket编程 Datagram套接字 UDP协议(转)

      查看文章     JAVA socket编程 Datagram套接字 UDP协议 2009-05-13 09:35 1 UDP套接字 数据报(Datagram)是网络层数据单元在介质上传输信息的一 ...

最新文章

  1. 为什么机器学习算法难以优化?一文详解算法优化内部机制
  2. 平时用电脑的一些技巧
  3. mysql三锁,mysql锁机制之表锁(三)
  4. Android SurfaceView的生命周期
  5. python获取原图GPS位置信息,轻松得到你的活动轨迹
  6. Java常用设计模式————外观模式
  7. IE浏览器整页截屏程序
  8. 云计算实战系列十四(MySQL基础)
  9. 被逼至“盗版合法化”,俄罗斯要把 RuTracker 放出来了?
  10. JavaScript提高:006:ASP.NET使用easyUI TABS标签updatepanel
  11. BestCoder Round #67 (div.2) N*M bulbs
  12. Java开发规范之常量定义篇
  13. ArcGIS Runtime SDK for Android 读取tpk、vtpk
  14. springboot 结合 ice(飞冰) 实现上传功能
  15. 无法识别服务器硬件信息,请教:无法获取服务器硬件信息
  16. cdr怎么把矩形去掉一个边_cdr画矩形怎么把中间弄掉
  17. alert angularjs
  18. Windows下常用网络命令
  19. 作为父亲,给儿子留下些什么? | 黄华书房
  20. 网络安全-Kali更新源(APT)

热门文章

  1. 史上最轻量K8s发行版,赋能边缘计算
  2. MySQL中的行级锁,表级锁,页级锁
  3. Google MapReduce有啥巧妙优化?
  4. 不是技术也能看懂容器技术与容器平台
  5. 多线程:同步和异步的优缺点比较
  6. Java 洛谷 P1482 Cantor表(升级版)
  7. 数据结构-冒泡排序最优代码(C语言)
  8. cvid matlab,WAKE-WIN10-SOFT-软件-Matlab配置及工具箱
  9. 多角度对比数据中心常见的三种走线方式
  10. Interview:算法岗位面试—10.30上午上海某信息公司(偏图算法)技术面试之单链表反转、给定整型数组和目标值 二分法查找+下午上海某金融公司(AI岗位,上市)CTO和主管技术面试之Xcepti