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 != "" |
| - | | + | |
| } | } | ||
| } | } | ||