美文网首页
传统单线程服务端

传统单线程服务端

作者: 水欣 | 来源:发表于2017-10-29 11:24 被阅读0次

public class OioServer {

public static void main(String[] args) throws IOException {
    //创建socket服务,监听10101端口
    ServerSocket server = new ServerSocket(10101);
    System.out.println("服务器启动!");
    while(true){
        //获取一个套接字[阻塞]
        final Socket socket = server.accept();
        System.out.println("一个新客户端连接!");
        //单线程业务处理
        handler(socket);
    }
}

/**
 * 读取数据
 * */
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 (IOException e) {
        e.printStackTrace();
    }finally {
        System.out.println("socket关闭");
        try {
            socket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
}

对于传统的单线程服务器来说,直接处理一个连接,必须将第1个客户端关闭,第2个客户端才可以连接进来。测试方法,在终端输入telnet localhost 10101模拟客户端,一个窗口就是一个客户端。
这种方式,相当于,你去饭店吃饭,店里只有一个服务员,这个服务员服务完一个客人走了以后才能服务下一个

相关文章

  • 传统单线程服务端

    public class OioServer { 对于传统的单线程服务器来说,直接处理一个连接,必须将第1个客户端...

  • 带你认识node中的单线程

    之前一直对单线程这个有误解,一直以为javascript中的单线程理解有偏差,但是当运行在服务端上的js是单线程的...

  • JWT原理

    1. JWT和传统token 基于传统的token认证用户登录,服务端给返回token,并将token保存在服务端...

  • Unity Socket服务器(客户端)通用框架

    通用服务端框架,具有粘包半包处理、协议解析等功能,服务端使用多路复用,单进程单线程 客户端 网络相关代码 客户端M...

  • 07 Vue 服务端渲染 SSR

    07服务端渲染SSR 理解 SSR 传统 web 开发 传统 web 开发,网页内容在服务端渲染完成,一次性传输到...

  • nodejs简介

    一.定义 JS的服务端运行环境. 二.用途 构建工具webpack的环境依赖 三.特点 单线程,异步编程 四.应用...

  • Redis之并发写入

    首先需要澄清一个事实:redis服务端是单线程处理客户端请求,也就是说客户端请求在服务端是串行化执行的,因此对服务...

  • 2.2-node.js,npm,webpack简介与安装

    1.node.js 定义:JS语言在服务端的运行环境 用途:构建工具webpack的环境依赖 特点:单线程(注1)...

  • 阿里P8架构师教你Netty原理-核心组件

    传统socket网络编程 1.1 实战 服务端:ServerBoot Server ClientHandler 客...

  • 服务端渲染介绍

    什么是渲染 渲染指的是把数据+模板拼接到一起 传统服务端渲染 早期Web页面都是通过服务端渲染,服务端将数据和页面...

网友评论

      本文标题:传统单线程服务端

      本文链接:https://www.haomeiwen.com/subject/kqfypxtx.html