Котлин записывает байтовый массив в сокет BufferedWriter - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь отправить байты в сокет TCP.
Формат данных - байтовый массив.

Но BufferedWrite.write() не имеет ByteArray. Имеет int или CharArray или String Вот мой код.

    socket = Socket("192.168.9.34", 5000)
    networkReader = BufferedReader(InputStreamReader(socket!!.getInputStream()))
    networkWriter = BufferedWriter(OutputStreamWriter(socket!!.getOutputStream()))

    val json = """
        {"type":"REQ","code":"DP1200","key":"e7aa7f5e-15df-4ea1-9e7b-e4f05d2ac288","ip":"192.168.9.33","port":"31147","serviceid":"WINIXRND1D"}
    """.trimIndent()
    val jsonByte = json.toString().toByteArray()
    val header: ByteArray = byteArrayOf(0x76,0x31,0x30,0x30,0x0,0x0,0x0,jsonByte.size.toByte())
    val payload: ByteArray = header + jsonByte 
    try {
        networkWriter!!.write(payload)  //<== I want to write byte arra here!  but write's argument no ByteArray
    } catch (e: Exception) {
    }

Пожалуйста, поправьте, дайте мне советы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...