Skal du ikke bare bruge UDP i stedet for TCP ?
Du angiver SOCK_DGRAM når du opretter socket'en isf. SOCK_STREAM.
Desværre ikke helt så simpelt.
int socketfd;
socketfd = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
Så går du bare i gang med at sende bruge
socketfd til at sende/modtage løs på.
Raw sockets er ret komplekst, så kig lidt på nettet. Søg på
SOCK_RAW, så skulle du nok få en masse hits.