@Testpublic void send() throws IOException {DatagramChannel dc = DatagramChannel.open();//设置非阻塞dc.configureBlocking(false);Scanner scanner = new Scanner(System.in);ByteBuffer buffer = ByteBuffer.allocate(1024);//        while (scanner.hasNext()) {
//            String next = scanner.next();
//
//            buffer.put((new Date().toString() + ":\n" + next).getBytes());
//            buffer.flip();
//            dc.send(buffer, new InetSocketAddress("127.0.0.1", 9898));
//            buffer.clear();
//
//        }buffer.put((new Date().toString() + ":\n" + "zzzz").getBytes());buffer.flip();dc.send(buffer, new InetSocketAddress("127.0.0.1", 9898));dc.close();}@Testpublic void receive() throws IOException {DatagramChannel dc = DatagramChannel.open();dc.configureBlocking(false);dc.bind(new InetSocketAddress(9898));Selector selector = Selector.open();dc.register(selector, SelectionKey.OP_READ);while (selector.select() > 0) {Iterator<SelectionKey> iterator = selector.selectedKeys().iterator();while (iterator.hasNext()) {SelectionKey next = iterator.next();if (next.isReadable()) {//可读状态,用缓冲区读;ByteBuffer buffer = ByteBuffer.allocate(1024);dc.receive(buffer);buffer.flip();System.out.println(new String(buffer.array(),0,buffer.limit()));buffer.clear();}}iterator.remove();}}

java,NIO,UDP协议网络通信DEMO相关推荐

  1. Java实现UDP协议

    1.定义 UDP(User Datagram Protocol):用户数据报协议 TCP (Transmission Control Protocol):传输控制协议 上层应用的两个不同的运输层协议. ...

  2. Java Socket udp协议在网络读卡器上的使用

    RFID网络读写器介绍:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-17663462238.11.12cd5b43ejf7s9&i ...

  3. Java NIO 介绍和基本demo

    IO操作主要可分为两阶段 1)把磁盘或者网络数据加载到内核的内存空间 2)把内核的内存空间数据复制到用户进程的内存空间中 阻塞.非阻塞的区别是在于第一阶段,即数据准备阶段.如果在数据准备时,主线程必须 ...

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

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

  5. Java 用UDP协议实现远程关机

    UDP监听 package com;/*** * 项目名称:CloseWin * 类名称:UDPListener.java * 类描述: * 创建人:Guus * 创建时间:2020年3月16日 上午 ...

  6. 还不了解NIO ?Java NIO 核心组件详解看一下

    背景知识 同步.异步.阻塞.非阻塞 首先,这几个概念非常容易搞混淆,但NIO中又有涉及,所以总结一下[1]. 同步:API调用返回时调用者就知道操作的结果如何了(实际读取/写入了多少字节). 异步:相 ...

  7. Java学习系列(十八)Java面向对象之基于UDP协议的网络通信

    UDP协议:无需建立虚拟链路,协议是不可靠的. A节点以DatagramSocket发送数据包,数据报携带数据,数据报上还有目的目地地址,大部分情况下,数据报可以抵达:但有些情况下,数据报可能会丢失 ...

  8. java,UDP协议简单实现

    //UDP协议简单实现-----Serverpackage UDP;import java.net.DatagramPacket; import java.net.DatagramSocket; im ...

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

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

最新文章

  1. 绘制机械图c语言编程,求用C语言绘制机械三视图程序?
  2. 【C语言】有3个数a,b,c,要求按大小顺序把它们输出(基础法)
  3. Ubuntu14.04无法在var/www内新建文档
  4. Orchard架构介绍
  5. 【LOJ#6682】梦中的数论(min_25筛)
  6. 前端学习(2879):实现v-if和v-show设计分析 视图搭建
  7. 【Java中级篇】动态代理机制
  8. php字符串如何比较大小写,PHP字符串函数strcmp(二进制安全比较字符串,区分大小写)...
  9. php中统一编码语句,统一编码
  10. poj 1704 HDU-4315 阶梯博弈
  11. 随机抽取文件内容中的一行
  12. Luogu P5201 [USACO19JAN]Shortcut 最短路树???
  13. 【行为识别】基于matlab差影法三维人体姿态行为识别【含Matlab源码 277期】
  14. 计算机Word文档新建样式A1是啥意思,高会《职称计算机》Word 2007:创建新样式
  15. 音视频技术开发周刊 | 177
  16. CMOS图像传感器OV7725数据手册
  17. 场效应管和三极管的区别
  18. C语言设计的简单2048小游戏
  19. 利用JNative调用MediaInfo.dll
  20. 2021年全国程序员工资出炉,想要年薪60万,难不难?网友,扎心了

热门文章

  1. Java学习-节点3
  2. 大象转身 | 沃尔玛搅局社区团购
  3. RFC1945 超文本传输协议--HTTP/1.0 之一
  4. 公司内部网络解决码云配置问题(gitee码云公玥管理)
  5. x86架构学习内存管理的单元
  6. 计算机图形设计与创意制作试题,计算机图形表现设计基础pdf
  7. cocos2d-x公开课视频已经发布
  8. java 循环new对象_java中new一个对象放在循环体里面与外面的区别
  9. python敲七游戏代码_Python_day04_2018.7.5-(Lis列表的介绍,增删改查)
  10. 企业的应用架构演变之路