socket – TCP/UDP-Socket-Helfer

Zusammenfassung

Kleine C-Bibliothek, die die POSIX-Socket-API plattformübergreifend und fehlertolerant kapselt: TCP-Client/Server, Ping, eigene IP-Ermittlung und UDP-Broadcast mit Antwortannahme in einem Aufruf. Projekt-unabhängig (keine Skywatcher-/Modul-spezifischen Anteile).

Umfang

  • socket_create(receive_timeout_s, tcp) – Socket mit optionalem Empfangs-Timeout.
  • socket_connect(socket, ip, port), socket_send, socket_receive – TCP-Datenverkehr.
  • socket_bind_and_listen(socket, port) + socket_accept_incomming_connection – TCP-Server (einkommende Verbindung annehmen).
  • socket_ping(ip) – Erreichbarkeits-Check.
  • socket_get_own_ip(ip, size) – eigene IP via Route-zu-8.8.8.8-Trick.
  • socket_udp_broadcast(broadcast_ip, port, data, size, ignore_ip, sender_ip, …) – ein Broadcast senden und (mit 3-s-Select-Timeout) die Antwort des Geräts empfangen; ignore_ip filtert die eigene IP heraus.

Nutzung

#include <socket/socket.h>
 
socket_handle_t s = socket_create(3, true);
if (socket_connect(s, "192.168.1.10", 80))
    socket_send(s, "GET / HTTP/1.1\r\n", 15);
socket_close(&s);

Abhängigkeiten

  • string (Strings), threading (Thread-/Sync-Kontexte)
  • Extern: POSIX-Sockets (sys/socket.h).

Quellen

  • Repo: https://github.com/deppenkaiser/socket (public, Apache-2.0)
  • libraries/socket/socket/socket.h, libraries/socket/socket.c
  • Build: cmake -S . -B build && cmake --build build; Einbindung <socket/socket.h>

Verwandte Artikel