简体   繁体   English

在 Android 中通过套接字交换小块数据

[英]Exchanging small chunks of data over socket in Android

I need to receive small portions of data (100-300 bytes) from the server.我需要从服务器接收一小部分数据(100-300 字节)。 To do this, I use a BufferedInputStream with bufferSize = 256. Sometimes the data arrives with a very long delay.为此,我使用了 bufferSize = 256 的 BufferedInputStream。有时数据到达的延迟很长。

socket.getInputStream().buffered(256)?.use {inputStream->
            do {
                val byteArray = ByteArray(4096)
                var count = -1
                try {
                    count = inputStream.read(byteArray)
                }
                catch (ex : Exception){
                    ex.printStackTrace()
                }
                if(count==-1){
                    break
                }
            }while (count>-1 && isConnected())
        }

I found a solution for my problem.我找到了解决我的问题的方法。 I set我设置

socket?.receiveBufferSize = 512
socket?.tcpNoDelay = true

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM