• Socket通讯的readline


    这里记录一下在写一个普通的SocketServer中遇到问题,就是当readLine的时候,迟迟获取不到由客户端发来的请求,in.readLine,一直堵塞,原因是因为客户端发信息的时候,只发里内容,而缺少了换行符 write.write("hello ");

    这里是客户端

    public class ClientMain {
        public static void main(String[] args) {
            try {
                Socket socket = new Socket("localhost", 9898);
                BufferedWriter write=new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
                while(true) {
                    
                    write.write("hello
    ");
                    write.flush();
                    Thread.sleep(10000);
                }
            } catch (UnknownHostException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }
    }

     

    这是服务端

    public class SocketServerMain {
    
        public static void main(String[] args) {
            ServerSocket ss = null;
            try {
    
                ss = new ServerSocket(9898);
                System.out.println("打开9898端口,正等待链接...");
                Socket socket = ss.accept();
                System.out.println("链接成功");
                boolean close = false;
                BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                while (!close) {
                    System.out.println("等待接受信息...");
                    String fromClient = in.readLine();
                    System.out.println("Client say : " + fromClient);
                }
    
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                if (ss != null) {
                    try {
                        ss.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
    
            }
    
        }
    }
  • 相关阅读:
    1. Dubbo原理解析-Dubbo内核实现之SPI简单介绍 (转)
    经典算法问题的java实现 (二)
    经典算法问题的java实现 (一)
    Bitmap的秘密
    Java Networking: UDP DatagramSocket (翻译)
    Java字节码浅析(二)
    Sql server 浅谈用户定义表类型
    Jquery 动态生成表单 并将表单数据 批量通过Ajax插入到数据库
    ASP.NET获取上传图片的大小
    ASP.Net大文件上传组件详解
  • 原文地址:https://www.cnblogs.com/oscar1987121/p/10424862.html
Copyright © 2020-2023  润新知