Servidor
import java.io.BufferedOutputStream
import java.io.FileOutputStream
import java.io.InputStream
import java.net.ServerSocket
fun main() {
val port = 12345 // Puerto en el que el servidor va a escuchar
val serverSocket = ServerSocket(port)
println("Servidor iniciado. Esperando conexión del cliente...")
val socket = serverSocket.accept()
println("Cliente conectado. Recibiendo imagen...")
val inputStream: InputStream = socket.getInputStream()
val fileOutputStream = FileOutputStream("/Users/lamac/IdeaProjects/untitled/2.png") // Ruta donde se guardará la imagen recibida
val bufferedOutputStream = BufferedOutputStream(fileOutputStream)
val buffer = ByteArray(4096)
var bytesRead: Int
while (inputStream.read(buffer).also { bytesRead = it } != -1) {
bufferedOutputStream.write(buffer, 0, bytesRead)
}
bufferedOutputStream.flush()
bufferedOutputStream.close()
socket.close()
serverSocket.close()
println("Imagen recibida y guardada correctamente")
}
Cliente
import java.io.BufferedInputStream
import java.io.File
import java.io.FileInputStream
import java.io.OutputStream
import java.net.Socket
fun main() {
val host = "localhost" // Cambiar por la dirección IP o el nombre de host del servidor
val port = 12345 // Puerto en el que el servidor está escuchando
val file = File("/Users/lamac/IdeaProjects/untitled/Screenshot 2023-07-06 at 21.18.36.png") // Ruta de la imagen a enviar
val socket = Socket(host, port)
val outputStream: OutputStream = socket.getOutputStream()
val fileInputStream = FileInputStream(file)
val bufferedInputStream = BufferedInputStream(fileInputStream)
val buffer = ByteArray(4096)
var bytesRead: Int
while (bufferedInputStream.read(buffer).also { bytesRead = it } != -1) {
outputStream.write(buffer, 0, bytesRead)
}
outputStream.flush()
bufferedInputStream.close()
socket.close()
println("Imagen enviada correctamente")
}
Publicado el día 6 de julio de 2023CATEGORÍAS
Kotlin, Red