Tag: 套接字

从套接字响应中逐字读入Kotlin字符中的空字符

所以说我有一个从套接字连接返回的流。 流被返回终止’\ 0’,但在kotlin我似乎无法得到这个以相同的方式工作。 下面的代码是在Java中,我可能只是看起来很简单。 public final String readUpToNull(InputStream inputStream) throws IOException { StringBuilder builder = new StringBuilder(); char ch; while ((ch = (char) inputStream.read()) != ‘\0′) { builder.append(ch); } return builder.toString(); } 如果有人知道如何在与Kotlin中的流进行通信的同时进行此操作。 在这里的另一篇文章是覆盖阅读全文的文字。 套接字返回由’\ 0’分隔的更长的字符串。 所以问题是我需要能够加载第一个字符串,然后第二个字符串。 Example Server : hello\0 xml stuff all right here\0 Client: read hello Client: read xml stuff all right […]

Kotlin readBytes()永远不会完成

我只是试图通过蓝牙套接字来读写,但是我的readBytes调用没有完成。 我认为这是非常简单的,但也许我只是使用错误types的流或东西。 截至目前我的代码只是发送少量的文字作为字节。 这是占位符代码,将被替换为通过流写入和读取文件的代码。 这是我的接收线程: class ReceiveThread(val inStream:BufferedInputStream):Thread() { var bytes:ByteArray? = null override fun run() { BluetoothService.log(“Begin ${BTS_Constants.THREAD_RECEIVE}”) BluetoothService.log(“preparing to read data”) name = BTS_Constants.THREAD_RECEIVE //here is my new code inStream.use { do{ count++ BluetoothService.log(“read loop round $count”) byteList.add(it.read() as Byte) }while (it.available()>0) } BluetoothService.log(“data read: ${byteList.get(0) as Char}”) } } 这是我的发送主题: class SendThread(val […]

在Kotlin中创建一个TCP侦听器

我现在正在给Kotlin一个项目,我正在工作。 这个项目需要我打开一个Socket并在一个端口上侦听TCP包,这样我才能解析它们。 在Java中,如果使用缓冲区读取器,套接字和服务器套接字来定义所引用的variables,则以下方法可用: while((CurrentLine = ClientBufferReader.readLine()) != null){FullString += CurrentLine} 但是,在Kotlin中,这是行不通的,因为无法评估任务。 我怎么能在Kotlin中find相同的结果呢?