

タイトル通りですが、kotlinでUDPのソケット通信をしたいです。  
サンプル等が見つからないので、どなたか教えてくれませんか？


CC BY-SA 3.0
2017-06-05T16:38:09.277
35317
2017-06-06T12:38:16.603
18802
question
android kotlin
kotlinでUDP通信をしたい


サンプルでよろしければ、SNTP の通信を kotlin で作ってみました。  
データの中身はいい加減ですが。

[code]

    import java.net.*
    
    fun main(args: Array<String>) {
        val socket = DatagramSocket()
        socket.connect(Inet4Address.getByName("192.168.0.132"), 123)
    
        val data = ByteArray(128)
        val header = (0 shl 30) or (4 shl 27) or (3 shl 24) or (15 shl 16) or (4 shl 8)
        data[0] = (header shr 24).toByte()
        data[1] = (header shr 16).toByte()
        data[2] = (header shr 8).toByte()
        data[3] = (header shr 0).toByte()
    
        val pkt = DatagramPacket(data, 4 * 12)
        socket.send(pkt)
    
        pkt.length = data.size
        socket.receive(pkt)
    
        System.out.println(data.copyOf(pkt.length).joinToString(
                separator = " ",
                transform = { b -> String.format("%02x", b) }
        ))
    }
    
[/code]

やってることは Java の時と変わらないと思います。


CC BY-SA 3.0
2017-06-06T12:38:16.603
35346
2017-06-06T12:38:16.603
5288
35317
answer