OIO 模式参考,创建一个socket通信的服务端

import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;public class OioServer {@SuppressWarnings("resource")public static void main(String[] args) throws Exception {ExecutorService newCachedThreadPool = Executors.newCachedThreadPool();//创建socket服务,监听10101端口ServerSocket server=new ServerSocket(10101);System.out.println("服务器启动!");while(true){//获取一个套接字(阻塞)final Socket socket = server.accept();System.out.println("来个一个新客户端!");//创建一个线程池处理多消息newCachedThreadPool.execute(new Runnable() {@Overridepublic void run() {//业务处理handler(socket);}});}}/*** 读取数据* @param socket* @throws Exception*/public static void handler(Socket socket){try {byte[] bytes = new byte[1024];InputStream inputStream = socket.getInputStream();while(true){//读取数据(阻塞)int read = inputStream.read(bytes);if(read != -1){System.out.println(new String(bytes, 0, read));}else{break;}}} catch (Exception e) {e.printStackTrace();}finally{try {System.out.println("socket关闭");socket.close();} catch (IOException e) {e.printStackTrace();}}}
}

创建一个简单OIO模式的socket服务端相关推荐

  1. 实现一个简单的SSR,了解服务端渲染

    在前面的文章中,我已经对服务端渲染有了充分介绍,并且实现了最简单的服务端渲染. 在这篇文章中,就基于React,一步一步来搭建一个服务端渲染的项目. 这里是github地址 react-ssr,欢迎s ...

  2. swift文件服务器,从头开始创建一个基于Swift的Perfect的服务端

    搭建一个Perfect工程大致步骤如下:创建工作空间引入Perfect库 设置工程 编码运行准备工作: 下载Perfect库 推荐从git上下载源码,因为里面包含了可能用到的所有组件: 解压Perfe ...

  3. 【开发一个简单的音乐播放器+服务端】【一】

  4. C# Socket服务端与客户端通信(包含大文件的断点传输)

    步骤: 一.服务端的建立 1.服务端的项目建立以及页面布局 2.各功能按键的事件代码 1)传输类型说明以及全局变量 2)Socket通信服务端具体步骤:   (1)建立一个Socket   (2)接收 ...

  5. python写rest服务_Python 如何创建一个简单的REST接口

    问题 你想使用一个简单的REST接口通过网络远程控制或访问你的应用程序,但是你又不想自己去安装一个完整的web框架. 解决方案 构建一个REST风格的接口最简单的方法是创建一个基于WSGI标准(PEP ...

  6. JAVA程序设计(自主模式)-创建一个简单的表示矩形的Rectangle类

    创建一个简单的表示矩形的Rectangle类,满足以下条件: 1.定义两个成员变量height和width,表示矩形的长和宽,类型为整型 2.定义一个getArea方法,返回矩形的面积 3.定义一个g ...

  7. 用 Go 编写一个简单的 WebSocket 推送服务

    用 Go 编写一个简单的 WebSocket 推送服务 本文中代码可以在 github.com/alfred-zhon- 获取. 背景 最近拿到需求要在网页上展示报警信息.以往报警信息都是通过短信,微 ...

  8. 利用thinkphp创建一个简单的站点

    本文我们将利用thinkphp创建一个简单的站点,这里所使用的thinkphp版本是5.0.24,这里是它的中文文档.如果有需要可以参考它的中文文档. thinkphp框架是一个典型的MVC框架,该框 ...

  9. Beginning WF4读书笔记(一):创建一个简单的工作流

    让我们以创建一个简单的工作流开始.开启Visual Studio (VS) 2010,选择New Project.在已经安装的模版下面,选择Visual C#-Workflow,你会看到提供了四个模版 ...

最新文章

  1. 【☆】javascript数据类型拾遗
  2. k8s Dashboard部署Tomcat集群
  3. 电路知识--认识原理图(四)
  4. oracle 11g 修改 sga,oracle 11g 调整SGA
  5. 如何用css3实现简单旋转的风车
  6. IntelliJ IDEA for Mac 如何在当前的普通Java项目中创建新的模块/添加模块/创建模块
  7. android studio发布项目到github
  8. synchronized的4种用法
  9. 主机甲采用停等协议向主机乙_习题
  10. 中国移动国际英国数据中心正式启动
  11. 不支持模块化规范的插件可以使用import 导入的原因
  12. 实现 Spherical Harmonic Lighting
  13. [RK3399][Android7.1] DRM中的Component System
  14. Java SE 原生数据类型
  15. 硬件开发学习需要掌握的基础知识
  16. php 坏了怎么修复,winload.exe丢失或损坏怎么办
  17. 【老生谈算法】matlab实现图像复原算法源码——图像复原
  18. 表单获取焦点和失去焦点
  19. 利用交通实时数据和社交媒体数据对飓风疏散期间的交通需求进行预测
  20. 通用样式 -表格的每行的复选框选中打印

热门文章

  1. Yolov3中xmin,ymin,xmax,ymax的疑惑
  2. 4步彻底关闭win10的自动更新功能
  3. Azure NSG Flow Log 引发的自嗨 -- 事件驱动的日志注入
  4. Android流量统计
  5. google的视频下载插件
  6. 二维码的使用(java版)
  7. 摄影测量实习-解析空中三角测量-C#代码
  8. excel如何晒出重复数据_excel 如何在大量数据中快速筛选出重复数据
  9. 保姆级/DOSBox使用MAC
  10. tomcat+nginx配置htpps