package org.server import com.beust.klaxon.Klaxon import java.io.BufferedReader import java.io.InputStreamReader import java.io.PrintWriter import java.net.ServerSocket data class Person( val name: String, val age: Int, val city: String ) const val serverPort: Int = 12345 fun main() { val server = ServerSocket(serverPort) println("Server started on port $serverPort...") while (true) { val client = server.accept() println("Client connected: ${client.inetAddress.hostAddress}:${client.port}") val reader = BufferedReader(InputStreamReader(client.getInputStream())) val writer = PrintWriter(client.getOutputStream(), true) val rawReceived = reader.readLine() //println("Received from client: $received") val json = Klaxon().parse(rawReceived) println(""" Parsed data: name: ${json?.name} age: ${json?.age} city: ${json?.city} """.trimIndent()) val response = "OK" writer.println(response) client.close() } }