Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

200
Vistas
¿La aplicación Swift simple Kitura localhost no se está ejecutando?

¡Primer comentario!

Soy un estudiante que aprende rápido y estoy en un curso acelerado bastante grande. Mi profesor comenzó a enseñarnos cómo hacer solicitudes de obtención y publicación simples la última vez, pero todavía me estoy poniendo al día y claramente no he comprendido algunos de los conceptos básicos.

Esta es la primera vez que trabajo con Kitura y solo la segunda vez que codifico en Swift. Por alguna razón, cuando uso swift run , obtengo mi impresión y de repente "El programa terminó con el código de salida: 0" en lugar de tener un servidor local ejecutándose en mi puerto 8080 para verificar mi respuesta en localhost:8080/ .

¿Alguien podría ayudarme a averiguar lo que no estoy viendo? ¿O no ha entendido acerca de las líneas de comando y Swift del lado del servidor?

 print("Hello, world from Swift Main!") import Kitura //constant router let router = Router() //When the router gets a request (contains everything needed to interpret the request), the server will respond with (Hello World or whatever data) router.get("/") { request, response, next in response.send("Hello world from router.get") //response next() //either end the route or go on to the next one } //What port for the server to run on Kitura.addHTTPServer(onPort: 8080, with: router) //Need to add routes before run(), either in different file or on main Kitura.run()

¡Gracias!

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

El código que ha proporcionado es correcto, por lo que puede ser que la estructura de su proyecto no lo sea.

Para crear correctamente el proyecto, puede seguir los siguientes pasos:
1. Cree un nuevo directorio, por ejemplo, jamie .
2. Desde ese directorio, ejecute swift package init --type=executable para crear un nuevo proyecto. El proyecto se llamará jamie después del nombre del directorio.
3. Edite Sources/jamie/main.swift y agregue su código.
4. Edite Package.swift y agregue lo siguiente a las dependencias del paquete "Jamie":
.package(url: "https://github.com/IBM-Swift/Kitura.git", .upToNextMajor(from: "2.5.0")), .
5. Edite Package.swift y agregue como la lista de dependencias para el objetivo "jamie":
dependencies: ["Kitura"]),

Entonces debería funcionar correctamente. Si no es así, puede deberse a que el puerto que intenta utilizar ya está en uso. Si agrega un registrador a su proyecto, Kitura registrará un mensaje de error si no puede vincularse al puerto. Para hacerlo, siga los pasos a continuación:

  1. Edite Package.swift y agregue lo siguiente a las dependencias del paquete "Jamie":
    .package(url: "https://github.com/IBM-Swift/HeliumLogger.git", .upToNextMinor(from: "1.7.1")), .
  2. Edite Package.swift y agregue el registrador a la lista de dependencias para el destino "jamie" para que se convierta en:
    dependencies: ["Kitura", HeliumLogger"]) ,
  3. Edite Sources/jamie/main.swift y agregue lo siguiente en la parte superior del archivo:

     import LoggerAPI import HeliumLogger HeliumLogger.use(LoggerMessageType.info)

    Si el puerto ya está en uso, recibirá un mensaje similar al siguiente:

[2019-02-17T12:01:40.723Z] [ERROR] [Kitura.swift:139 start()] Error listening on port 8080: Error code: -9992(0x-2708), Address already in use. Use server.failed(callback:) to handle

Si aún no lo ha hecho, probablemente valga la pena unirse a la organización slack de Kitura como http://slack.kitura.io

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda