Skip to content

Instantly share code, notes, and snippets.

@ogoes
Last active September 3, 2019 01:19
Show Gist options
  • Save ogoes/1e2c9323713abb2e6931e864b9dc4eee to your computer and use it in GitHub Desktop.
Save ogoes/1e2c9323713abb2e6931e864b9dc4eee to your computer and use it in GitHub Desktop.
Exemplo de Socket em Kotlin (Server)
import interfaces.IO
import client.entities.Client
import java.io.InputStream
import java.io.OutputStream
import java.net.ServerSocket
import java.net.Socket
import java.nio.charset.Charset
import java.util.*
fun sendMessage (outputStream: OutputStream, message: String) {
val bufferedMessage = message.toByteArray(Charsets.UTF_8)
outputStream.write(bufferedMessage)
outputStream.flush()
}
fun receiveMessage (inputStream: InputStream): String {
val buffer = ByteArray(4096)
val size - inputStream.read(buffer)
return buffer.copyOf(size).toString(Charsets.UTF_8)
}
fun clientHandler (client: Socket) {
val clientWriter = client.getOutputStream() // send message to new client
val clientReader = client.getInputStream() // receive message from new client
var message = receiveMessage(clientReader)
println(message)
sendMessage(clientWriter, "O Cão Piolho")
}
fun main (args: Array<String>) {
server: ServerSocket = ServerSocket(9999)
while (true) {
client: Socket = server.accept()
val handlerThread = Thread {
clientHandler(client)
}
handlerThread.start()
}
}
@ogoes
Copy link
Author

ogoes commented Sep 3, 2019

Mais simples que mastigar água.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment