/*** 客户端接收服务端的反馈*/
public class TestBlockingNio2 {/*** 客户端*/@Testpublic void client() throws IOException {SocketChannel sChannel = SocketChannel.open(new InetSocketAddress("127.0.0.1", 9898));FileChannel inChannel = FileChannel.open(Paths.get("2.jpg"), StandardOpenOption.READ);ByteBuffer buffer = ByteBuffer.allocate(1024);while (inChannel.read(buffer) != -1) {buffer.flip();sChannel.write(buffer);buffer.clear();}//告诉服务端发送完毕sChannel.shutdownOutput();int len = 0;//接收服务端的反馈//从通道中读取数据while ((len=sChannel.read(buffer)) != -1) {buffer.flip();System.out.println(new String(buffer.array(), 0, len));buffer.clear();}inChannel.close();sChannel.close();}/*** 服务端*/@Testpublic void server() throws IOException {ServerSocketChannel ssChannel = ServerSocketChannel.open();FileChannel outChannel = FileChannel.open(Paths.get("3.jpg"), StandardOpenOption.WRITE, StandardOpenOption.CREATE);ssChannel.bind(new InetSocketAddress(9898));SocketChannel sChannel = ssChannel.accept();ByteBuffer buffer = ByteBuffer.allocate(1024);while (sChannel.read(buffer) != -1) {buffer.flip();outChannel.write(buffer);buffer.clear();}buffer.put("server接收成功".getBytes());buffer.flip();sChannel.write(buffer);sChannel.close();outChannel.close();ssChannel.close();}
}

NIO的网络通信demo相关推荐

  1. java,NIO,UDP协议网络通信DEMO

    @Testpublic void send() throws IOException {DatagramChannel dc = DatagramChannel.open();//设置非阻塞dc.co ...

  2. java,NIO非阻塞式网络通信DEMO.

    @Testpublic void client() throws IOException {SocketChannel sChannel = SocketChannel.open(new InetSo ...

  3. 初识NIO之Java小Demo

    Java中的IO.NIO.AIO: BIO:在Java1.4之前,我们建立网络连接均使用BIO,属于同步阻塞IO.默认情况下,当有一条请求接入就有一条线程专门接待.所以,在客户端向服务端请求时,会询问 ...

  4. BIO NIO AIO 学习笔记

    BIO NIO AIO 1.同步阻塞的BIO 1.1 BIO介绍 1.2 BIO通信案例 2.同步非阻塞的NIO 2.1 NIO的介绍 2.2 NIO核心一Buffer缓冲区 2.3 NIO核心二Ch ...

  5. nio与netty编程(一)

    文章目录 一 多线程编程 线程安全 产生原因 解决线程安全问题 synchronized 同步代码块 synchronized 同步代码块 线程间通信 两个线程交替运行 生产者消费者 二 bio编程 ...

  6. 分别基于IO、NIO、Netty的Java网络程序

    分别基于IO.NIO.Netty的Java网络程序 IDE:IntelliJ IDEA 文章目录 分别基于IO.NIO.Netty的Java网络程序 一.Java NIO 1.1 NIO与传统IO对比 ...

  7. 快学Java NIO

    Java NIO Tutorial 地址:http://tutorials.jenkov.com/java-nio/index.html Java NIO系列教程译文地址:http://ifeve.c ...

  8. JDK10都发布了,nio你了解多少?

    前言 只有光头才能变强 回顾前面: 给女朋友讲解什么是代理模式 包装模式就是这么简单啦 本来我预想是先来回顾一下传统的IO模式的,将传统的IO模式的相关类理清楚(因为IO的类很多). 但是,发现在整理 ...

  9. Java NIO——Selector机制源码分析---转

    一直不明白pipe是如何唤醒selector的,所以又去看了jdk的源码(openjdk下载),整理了如下: 以Java nio自带demo : OperationServer.java   Oper ...

最新文章

  1. 戴森要搞能爬楼梯的吸尘器,两项专利设计现已提交
  2. [编解码] 关于base64编码的原理及实现
  3. linux 进程间通信 dbus-glib【实例】详解二(下) 消息和消息总线(ListActivatableNames和服务器的自动启动)(附代码)
  4. SSH实现无密码验证
  5. Linux vim剪切/删除命令(结合p粘贴使用就是剪切)
  6. shell shift与{}_一文掌握shell脚本中shift的用法及功能
  7. Spring MVC:带有CNVR卷的REST应用程序。 1个
  8. custom的短语_custom是什么意思中文翻译
  9. c语言编程 排序,C语言编程-9_3 排序
  10. linux常用命令详解和用法_详解Linux shell用法中常用命令--read(传参)
  11. 数据分类分级指南范围
  12. oracle function详解,Oracle函数用法详解
  13. 【毕业设计】基于stm32的万能红外遥控器 - 单片机 嵌入式 物联网
  14. Google 应用与游戏出海 8 月刊: 遨游出海季,共创新增长 (上)
  15. 搜索引擎优化(step-by-step)
  16. 解决:keeps stopping(停止运行)
  17. 【CSS】自定义平台文章封面图
  18. 扁平化风格pike admin后台模板
  19. 02- pandas 数据库 (数据库)
  20. uva 672 Gangsters

热门文章

  1. java list 子集_一个List的全部子集
  2. 迷路的奶牛 Farmer John C++
  3. latex 编译eps文件时的问题
  4. CPU计算机性能的操作方法,cpu怎么设置才能达到最佳性能
  5. Access 2003 的输入掩码(Input Mask)
  6. NBA中的那些黑科技
  7. 计算机语言学国外排名,美国语言学专业排名
  8. 【LuoguP4233】射命丸文的笔记-多项式求逆
  9. 盘点|2018半导体产业城市“风云榜”
  10. 计算机应用模块等级考试大纲,全国计算机等级考试大纲 年版.doc