用OIO实现一个简单客户端。具体代码如下:

package com.zhshl.nio; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /**  * zhshl  2018/10/5  */ public class OIOServer {     public static void main(String[] args) throws IOException {         ServerSocket serverSocket = new ServerSocket(10010);         ExecutorService executorService = Executors.newCachedThreadPool();         System.out.println("服务器启动成功");         while(true){             //获取一个套字节(阻塞)             final Socket socket = serverSocket.accept();             System.out.println("来了一个新的客户端");             executorService.execute(new Runnable() {                 public void run() {                     handler(socket);                 }             });         }     }     /**      * 读取数据      * @param socket      */     public static void handler(Socket socket) {         try {             byte[] bytes = new byte[1024];             InputStream inputStream = socket.getInputStream();             OutputStream outputStream = socket.getOutputStream();             PrintWriter printWriter = new PrintWriter(outputStream);             while(true){                 //读取数据(阻塞)                 int read = inputStream.read(bytes);                 if(read != -1){                     System.out.println(new String(bytes, 0, read,"GBK"));                     printWriter.print("你好:"+socket.getInetAddress()+"," +                             "你刚刚发送的消息我已经接收到了。发送的内容为:" + new String(bytes, 0, read,"GBK"));                     printWriter.flush();                 }else{                     break;                 }             }         } catch (Exception e) {             e.printStackTrace();         }finally{             try {                 System.out.println("socket关闭");                 socket.close();             } catch (IOException e) {                 e.printStackTrace();             }         }     } }

java nio oio_Java 网络编程之OIO相关推荐

  1. udp java 编程_JAVA 网络编程之UDP编程

    多线程,网络编程,反射,集合是java语言的重头戏,其中反射是java一切框架的基石. 客户端: SocketAddress sa =new  InetSocketAddress("10.1 ...

  2. 7.3(java学习笔记)网络编程之UDP

    一.UDP UDP的全称是User Datagram Protocol(用户数据报协议),是一种无连接的不安全的传输协议, 传输数据时发送方和接收方无需建立连接,所以是不安全的. 发送时不建立连接直接 ...

  3. java网络编程之TCP通讯

    java中的网络编程之TCP协议的详细介绍,以及如何使用,同时我在下面举2例说明如何搭配IO流进行操作, 1 /* 2 *TCP 3 *建立连接,形成传输数据的通道: 4 *在连接中进行大数据量传输: ...

  4. Java网络编程之NIO编程(待补充)

    Java网络编程之NIO编程(待补充) 学习网站1:http://ifeve.com/java-nio-all/ 学习网站2:http://www.ibm.com/developerworks/cn/ ...

  5. 原生JDK网络编程之NIO篇

    原生JDK网络编程之NIO篇 一.NIO是什么 NIO库是在JDK1.4中引入的.NIO弥补了原来的I/O的不足,它在标准Java代码中提供了高速的.面向块的I/O.     NIO可以称为 no-b ...

  6. java 网络编程简单聊天_网络编程之 TCP 实现简单聊天

    网络编程之 TCP 实现简单聊天 客户端 1.连接服务器 Socket 2.发送消息 package lesson02;import java.io.IOException;import java.i ...

  7. Java网络编程之TCP、UDP

    Java网络编程之TCP.UDP 2014-11-25 15:23 513人阅读 评论(0) 收藏 举报 分类: java基础及多线程(28) 版权声明:本文为博主原创文章,未经博主允许不得转载. J ...

  8. 浅谈Java网络编程之Socket (2)

    <浅谈Java网络编程之Socket (1)>中我们已经和大家说到客户端的网络编程,下面和大家分享的是服务器的实现代码. import java.net.*; import java.io ...

  9. 浅谈Java网络编程之Socket (1)

    和大家一起分享的是Java网络编程之Socket.在Java中Socket可以理解为客户端或者服务器端的一个特殊的对象,这个对象有两个关键的方法,一个是getInputStream方法,另一个是get ...

最新文章

  1. linux5支持32,Red Hat发布RHEL5.3 可支持32颗虚拟CPU
  2. Roundcube Webmail信息泄露漏洞(CVE-2015-5383)
  3. 计算机永远无法处理日语所具有的暧昧性,计算机永远无法处理日语所具有的暧昧性。( )...
  4. 杜比dss200服务器重装,杜比数字影片库 DSL200 (Dolby Show Library DSL200)
  5. 设计模式-(9)中介者模式(swift)
  6. Java调用webservice服务接口步骤详解
  7. 基于粒子滤波的定位算法 ——原理、理解与仿真
  8. UltraEdit编辑器+注册机(windows版)让数据处理更简单
  9. MATLAB图像处理学习日记之图像的自定义裁剪imcrop操作
  10. 企业微信网页应用开发 - 消息/事件回调接口
  11. MATLAB 结构矩阵和单元矩阵
  12. 如何定向网件路由防火墙与URL
  13. python把文件转化为二进制流-python:将一个文件转换为二进制文件(binary)
  14. 计算机程序设计论文2万字,【程序设计论文】核心素养下的计算机程序设计教学(共4049字)...
  15. 从零开始学数据分析之——《笨办法学Python》(习题27-36)
  16. (ICCV-2017)使用伪 3D 残差网络学习时空表示
  17. html中线的移动怎么设置彩铃,移动彩铃如何设置【方法步骤】
  18. 【Spark实训】-- Spark SQL结构化数据文件处理 ②
  19. 30分钟搭一个wordpress网站
  20. 数据结构家谱c语言课程设计,数据结构和C语言的课程设计

热门文章

  1. 在windows10上安装图形化ubuntu桌面(亲测有效)
  2. 计算机专业对记忆力要求高吗,程序员/程序设计者的智商高吗?记忆力强吗?...
  3. 德日车企瓜分美系车在华市场
  4. 弦理论能成为新的万物理论吗?
  5. BASNet: Boundary-Aware Salient Object Detection论文学习
  6. Fiddler获取微信视频太好用了呀
  7. 配置NSG限制VM访问Internet
  8. APP开发:线上教育APP盈利模式分析
  9. Interfacing with Pixhawk using the NSH
  10. 学习日记5-C语言函数的应用