Java(Kotlin)套接字服务器。连续阅读

时间:2018-07-03 19:01:36

标签: java sockets server kotlin

我的服务器读取如下:

private fun init() {
        val inStream = BufferedInputStream(socket.getInputStream())
        val bytes = ByteArray(bufferSize)

        outStream = DataOutputStream(socket.getOutputStream())


        while (true) {
            val count = inStream.read(bytes, 0, bufferSize)

            if (count >= 0) {
                server.onReceive(this, bytes, count)
            }

        }
    }

首次读取将一直等待,直到接收到字节为止。但是第二不等。并且循环永远运行,计数为-1。我只想在收到字节时读取它们。

1 个答案:

答案 0 :(得分:2)

  

循环永远运行

您正在流的结尾处循环播放。如果count为-1,则应关闭套接字并退出循环。

  

计数为-1

是我的意思。