首页 > 解决方案 > 在 Socket.read() 处于活动状态时继续处理主要活动

问题描述

我有一个用作客户端并从服务器发送和接收数据的应用程序。在第一次连接之后,我想一直在 socket.read() 中准备好向我发送一些数据数据。问题是当我在 socket.read() 中时,用户不能在应用程序中做任何事情,比如向服务器发送新数据等等。

这是在 asyncTask 中的 doInBackground 上运行的。

  InputStream inputStream = socket.getInputStream();
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(1024);
            byte[] buffer = new byte[1024];
            while (true) {
                int read = inputStream.read(buffer);
                int bytesRead = read;
                if (read == -1) {
                    break;
                }
                byteArrayOutputStream.write(buffer, 0, bytesRead);
                response = byteArrayOutputStream.toByteArray();
                break;
            }

标签: javaandroid

解决方案


推荐阅读