zoukankan      html  css  js  c++  java
  • Telnet测试BIO Socket

    实例说明:

    使用BIO模型编写一个服务器端,监听6000端口,当有客户端连接时,就启动一个线程与之通讯。

    要求使用线程池机制改善,可以连接多个客户端.

    服务器端可以接收客户端发送的数据(telnet 方式)。

    import java.io.InputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    
    public class BIOserver {
        public static void main(String[] args)throws Exception {
            ExecutorService newCachedThreadPool = Executors.newCachedThreadPool();
    //创建serverSecket
            ServerSocket serverSocket = new ServerSocket(6000);
            System.out.print("服务器启动了");
            while (true){
                //监听,等待客户端连接
                 final Socket socket = serverSocket.accept();
                 System.out.print("连接到一个客户端");
                 //创建一个线程
                newCachedThreadPool.execute(new Runnable() {
                    @Override
                    public void run() {
                        //重写
                        //可以和客户端通信
                        handler(socket);
    
                    }
                });
            }
        }
        //编写一个handler方法,和客户端通讯
        public static void handler(Socket socket){
            try {
    
    
                byte[] bytes = new byte[1024];
                //通过Socket获取输入流
                InputStream inputStream = socket.getInputStream();
                while (true){
                    int read = inputStream.read(bytes);
                    if(read!=-1){
                        System.out.println(new java.lang.String(bytes,0,read));//输出客户端发送数据
                    }else {
                        break;
                    }
                }
            }catch (Exception e){
                e.printStackTrace();
            }finally{
                System.out.println("关闭和client的连接");
                try{
                    socket.close();
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
    
    
        }
    
    }

    启动后,打开cmd窗口 输入telnet 127.0.0.1 6000

    进入telnet 按下Ctrl+]键,发送命令:send 111,服务端就可以收到111信息

  • 相关阅读:
    react 安装脚手架过程
    微信小程序-分享功能
    echarts 实现多图联动显示tooltip
    dom 相同父节点查找
    js 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果
    vue手写el-form组件
    vue组件传值、通信
    vue项目打包桌面应用 exe程序 以及打包为安装程序exe
    vue 使用echarts来制作图表
    前端数据可视化插件-图表
  • 原文地址:https://www.cnblogs.com/yangzhixue/p/12331686.html
Copyright © 2011-2022 走看看