This shows you the differences between two versions of the page.
sdk:scripts:udpserver [2015/05/05 15:04] – external edit 127.0.0.1 | sdk:scripts:udpserver [2022/09/05 12:26] (current) – schmitt | ||
---|---|---|---|
Line 2: | Line 2: | ||
<code c udpserver.are> | <code c udpserver.are> | ||
/* DESC: This script implements an UDP server which is able to receive messages. | /* DESC: This script implements an UDP server which is able to receive messages. | ||
- | * Copyright (C) 2012 NetModule AG, Switzerland | + | * Copyright (C) 2012-2016 NetModule AG, Switzerland |
*/ | */ | ||
Line 19: | Line 19: | ||
sock = socket(AF_INET, | sock = socket(AF_INET, | ||
if (sock < 0) { | if (sock < 0) { | ||
- | | + | |
exit(1); | exit(1); | ||
} | } | ||
Line 27: | Line 27: | ||
ret = bind(sock, PORT, addr); | ret = bind(sock, PORT, addr); | ||
if(ret == -1) { | if(ret == -1) { | ||
- | | + | |
close(sock); | close(sock); | ||
exit(1); | exit(1); | ||
} | } | ||
- | printf(" | + | nb_syslog(" |
while (1) { | while (1) { | ||
- | msg = recvfrom(sock); | + | msg = recvmsg(sock, 3); |
- | if (left(msg, 4) == " | + | if (is_void(msg)) continue; |
- | | + | |
+ | data = struct_get(msg, | ||
+ | from = struct_get(msg, | ||
+ | |||
+ | if (left(data, 4) == " | ||
+ | | ||
break; | break; | ||
- | } else if (msg != "" | + | } else if (data != "" |
- | | + | |
} | } | ||
} | } |