• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ULL-ESIT-INF-DSI-2526 / prct09-sockets-videogames-IkerMartinG / 24450703291

15 Apr 2026 10:57AM UTC coverage: 76.642% (-0.6%) from 77.193%
24450703291

push

github

IkerMartinG
modificacion

10 of 12 branches covered (83.33%)

Branch coverage included in aggregate %.

19 of 25 new or added lines in 2 files covered. (76.0%)

1 existing line in 1 file now uncovered.

95 of 125 relevant lines covered (76.0%)

0.96 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

84.62
/src/modi1/serverJSON.ts
1
/**
2
 * Servidor TCP que ejecuta comandos enviados por el cliente usando JSON.
3
 * Incluye mensajes por consola para depuración y trazabilidad.
4
 */
5

6
import net from "net";
7
import { exec } from "child_process";
8
import { RequestMessage, ResponseMessage } from "./types.js";
9

10
/**
11
 * Servidor TCP que procesa mensajes JSON y ejecuta comandos del sistema.
12
 */
13
const server = net.createServer(socket => {
1✔
14
  console.log("Cliente conectado:", socket.remoteAddress);
3✔
15

16
  socket.on("data", data => {
3✔
17
    const raw = data.toString();
2✔
18
    console.log("Petición recibida:", raw);
2✔
19

20
    let req: RequestMessage;
21

22
    try {
2✔
23
      req = JSON.parse(raw) as RequestMessage;
2✔
24
    } catch (e) {
NEW
25
      console.log("Error: JSON inválido");
×
NEW
26
      socket.write(JSON.stringify({ success: false, output: "JSON inválido" }));
×
NEW
27
      socket.end();
×
NEW
28
      return;
×
29
    }
30

31
    exec(req.command, (err, stdout, stderr) => {
2✔
32
      if (err) {
2✔
33
        console.log("Error ejecutando comando:", err.message);
1✔
34
        console.log("stderr:", stderr);
1✔
35
      } else {
36
        console.log("Comando ejecutado correctamente");
1✔
37
      }
38

39
      const res: ResponseMessage = {
2✔
40
        success: !err,
41
        output: err ? stderr : stdout
42
      };
43

44
      console.log("Respuesta enviada:", res);
2✔
45

46
      socket.write(JSON.stringify(res));
2✔
47
      socket.end();
2✔
48
    });
49
  });
50

51
  socket.on("end", () => {
3✔
52
    console.log("Cliente desconectado");
2✔
53
  });
54
});
55

56
/**
57
 * Arranca el servidor JSON en el puerto 9001.
58
 */
59
export function startServer() {
60
  server.listen(9001, () => {
1✔
61
    console.log("Servidor JSON escuchando en el puerto 9001");
1✔
62
  });
63
  return server;
1✔
64
}
65

66
export default server;
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc