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信息

  • 相关阅读:
    严援朝座右铭
    王治郅 请让爱国走下神坛
    Java 事件处理实例
    SAP ERP 与 Oracle ERP 比较
    Gantt Component for Delphi Pure Pascal code(TsyGantt VCL)
    XMLRPC vs. SOAP
    Interfaces with Constants Only(java中通用常量定义)
    船舶设计软件简介
    DelphiARX 2000i 简介
    JAVA事件适配器用内部类,匿名类实现事件处理
  • 原文地址:https://www.cnblogs.com/yangzhixue/p/12331686.html
Copyright © 2011-2022 走看看