java - java中的socket读取策略

标签 java sockets

我有一个项目,我将从 TCP 端口接收数据,我需要不断等待检查是否收到数据。

我现在的代码是:

        Socket socket = new Socket();
        socket.connect(new InetSocketAddress(ip,8000));

        while(true){
            DataOutputStream outToClient = new DataOutputStream(socket.getOutputStream());
            InputStream inFromClient = socket.getInputStream();

            while(true){
                int i = inFromClient.read();

                System.out.println("data = " + i);
                l++;                
            }

我不喜欢这种基于 while(true) 的策略,有一些策略可以从回调或类似的东西接收数据吗?

最佳答案

关于java - java中的socket读取策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34809525/

相关文章:

java - 如何在首选项 Activity 中显示应用程序版本?

java - 这个 for 循环可以转换为 IntStream 吗?

php - 写入套接字并处理损坏的管道

c - PAHO 嵌入式 C 库 Socket 接收实现

java - Windows 会干扰 Java 的 Socket.setSOTimeout 吗?

c++ - 套接字超时 : select vs setsockopt

java - FetchType.LAZY 位于父级的 @OneToMany 上,FetchType.EAGER 位于子级的 @ManyToOne 上

java - openam客户端sdk session ID无效

java - Spring jdbcTemplate - 连接已关闭

c - FTP被动模式: connect to server