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_ipfiltert 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
- string – String-, Pfad- und Terminal-Helfer
- threading – Thread- und Synchronisations-Helfer
- skywatcher – Sky-Watcher Montierungs-Steuerung – nutzt
socket_udp_broadcastfür die auto-Discovery