{"id":365,"date":"2025-04-15T17:07:28","date_gmt":"2025-04-15T23:07:28","guid":{"rendered":"https:\/\/elblogdelgps.com\/ind\/?p=365"},"modified":"2026-03-22T20:34:06","modified_gmt":"2026-03-23T02:34:06","slug":"1-recepcion-de-tramas-en-socket-tcp-udp","status":"publish","type":"post","link":"https:\/\/elblogdelgps.com\/ind\/2025\/04\/15\/1-recepcion-de-tramas-en-socket-tcp-udp\/","title":{"rendered":"1.-Recepci\u00f3n de tramas en socket TCP\/UDP"},"content":{"rendered":"<p>Los dispositivos GPS transmiten informaci\u00f3n a trav\u00e9s de <strong>tramas de datos<\/strong> utilizando protocolos como <strong>TCP o UDP<\/strong>, hacia un <strong>servidor que los recibe en un socket abierto<\/strong>. Entender c\u00f3mo se reciben, procesan y almacenan estas tramas es clave para el desarrollo de plataformas de rastreo y monitoreo.<\/p><hr class=\"wp-block-separator has-alpha-channel-opacity\"\/><h3 class=\"wp-block-heading\">\u00bfQu\u00e9 es un socket?<\/h3><p>Un <strong>socket<\/strong> es un punto de conexi\u00f3n entre dos dispositivos en red. El servidor escucha conexiones entrantes en un <strong>puerto espec\u00edfico<\/strong> (ej. 5001 o 8888), y el GPS env\u00eda tramas hacia esa direcci\u00f3n IP y puerto.<\/p><hr class=\"wp-block-separator has-alpha-channel-opacity\"\/><h3 class=\"wp-block-heading\"> TCP vs. UDP<\/h3><figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Protocolo<\/th><th>Caracter\u00edsticas principales<\/th><\/tr><\/thead><tbody><tr><td><strong>TCP<\/strong><\/td><td>Conexi\u00f3n persistente, confiable, garantiza entrega y orden<\/td><\/tr><tr><td><strong>UDP<\/strong><\/td><td>Sin conexi\u00f3n, m\u00e1s r\u00e1pido, puede perder paquetes<\/td><\/tr><\/tbody><\/table><\/figure><blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>\u26a0\ufe0f La mayor\u00eda de los equipos GPS usan <strong>TCP<\/strong> para asegurar la entrega de datos, aunque algunos permiten UDP para aplicaciones espec\u00edficas o de bajo consumo.<\/p><\/blockquote><hr class=\"wp-block-separator has-alpha-channel-opacity\"\/><h3 class=\"wp-block-heading\">Flujo de recepci\u00f3n t\u00edpico en servidor<\/h3><ol class=\"wp-block-list\"><li><strong>El GPS env\u00eda una trama<\/strong> a IP y puerto configurado.<\/li>\n\n<li>El servidor escucha en un <strong>socket TCP o UDP<\/strong>.<\/li>\n\n<li>La trama llega en formato <strong>hexadecimal o binario<\/strong>.<\/li>\n\n<li>El backend interpreta la trama seg\u00fan el <strong>protocolo del fabricante<\/strong>.<\/li>\n\n<li>Los datos se extraen y se almacenan en base de datos o se procesan en tiempo real.<\/li><\/ol><hr class=\"wp-block-separator has-alpha-channel-opacity\"\/><h3 class=\"wp-block-heading\">Ejemplo pr\u00e1ctico (Python TCP Server)<\/h3><pre class=\"wp-block-preformatted\"><code>import socket<br><br>HOST = '0.0.0.0'<br>PORT = 5001<br><br>server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)<br>server.bind((HOST, PORT))<br>server.listen()<br><br>print(f\"Servidor escuchando en {HOST}:{PORT}\")<br><br>while True:<br>    conn, addr = server.accept()<br>    print(f\"Conexi\u00f3n desde {addr}\")<br>    data = conn.recv(1024)<br>    print(\"Trama recibida:\", data.hex())<br>    conn.close()<br><\/code><\/pre><hr class=\"wp-block-separator has-alpha-channel-opacity\"\/><h3 class=\"wp-block-heading\">Ejemplo de trama recibida (Concox)<\/h3><pre class=\"wp-block-preformatted\"><code>78780D010359339071084002000084ED0D0A<br><\/code><\/pre><p>Esta trama hexadecimal debe decodificarse con base en el <strong>protocolo del fabricante<\/strong>, que describe el tipo de paquete, longitud, ID del dispositivo, ubicaci\u00f3n, estado, etc.<\/p><hr class=\"wp-block-separator has-alpha-channel-opacity\"\/><h3 class=\"wp-block-heading\">Recomendaciones t\u00e9cnicas<\/h3><ul class=\"wp-block-list\"><li>Configura correctamente el <strong>APN, IP, puerto y modo TCP\/UDP<\/strong> en el equipo.<\/li>\n\n<li>Aseg\u00farate de que <strong>no haya firewalls o bloqueos<\/strong> en el servidor.<\/li>\n\n<li>Implementa manejo de errores y reconexiones autom\u00e1ticas.<\/li>\n\n<li>Guarda un <strong>log crudo de tramas<\/strong> para depuraci\u00f3n.<\/li>\n\n<li>Usa herramientas como <strong>Wireshark, Hercules o TCPDump<\/strong> para pruebas.<\/li><\/ul>","protected":false},"excerpt":{"rendered":"<p>Los dispositivos GPS transmiten informaci\u00f3n a trav\u00e9s de tramas de datos utilizando protocolos como TCP o UDP, hacia un servidor que los recibe en un socket abierto. Entender c\u00f3mo se reciben, procesan y almacenan estas tramas es clave para el desarrollo de plataformas de rastreo y monitoreo. \u00bfQu\u00e9 es un socket? Un socket es un [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":368,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"categories":[65],"tags":[68],"class_list":["post-365","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cursos-generales-modulo6","tag-capacitacion"],"_links":{"self":[{"href":"https:\/\/elblogdelgps.com\/ind\/wp-json\/wp\/v2\/posts\/365","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elblogdelgps.com\/ind\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/elblogdelgps.com\/ind\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/elblogdelgps.com\/ind\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/elblogdelgps.com\/ind\/wp-json\/wp\/v2\/comments?post=365"}],"version-history":[{"count":1,"href":"https:\/\/elblogdelgps.com\/ind\/wp-json\/wp\/v2\/posts\/365\/revisions"}],"predecessor-version":[{"id":369,"href":"https:\/\/elblogdelgps.com\/ind\/wp-json\/wp\/v2\/posts\/365\/revisions\/369"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elblogdelgps.com\/ind\/wp-json\/wp\/v2\/media\/368"}],"wp:attachment":[{"href":"https:\/\/elblogdelgps.com\/ind\/wp-json\/wp\/v2\/media?parent=365"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/elblogdelgps.com\/ind\/wp-json\/wp\/v2\/categories?post=365"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/elblogdelgps.com\/ind\/wp-json\/wp\/v2\/tags?post=365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}