This shows you the differences between two versions of the page.
Last revision | |||
— | sdk:scripts:udpserver [2015/05/05 15:04] – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== SDK Script udpserver.are ====== | ||
+ | <code c udpserver.are> | ||
+ | /* DESC: This script implements an UDP server which is able to receive messages. | ||
+ | * Copyright (C) 2012 NetModule AG, Switzerland | ||
+ | */ | ||
+ | |||
+ | void usage() | ||
+ | { | ||
+ | printf(" | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | if (argc < 2) { | ||
+ | usage(); | ||
+ | } | ||
+ | |||
+ | PORT = (int) argv[1]; | ||
+ | |||
+ | sock = socket(AF_INET, | ||
+ | if (sock < 0) { | ||
+ | printf(" | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | /* bind socket to 1st LAN interface */ | ||
+ | addr = nb_ifc_address(" | ||
+ | ret = bind(sock, PORT, addr); | ||
+ | if(ret == -1) { | ||
+ | printf(" | ||
+ | close(sock); | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | printf(" | ||
+ | |||
+ | while (1) { | ||
+ | msg = recvfrom(sock); | ||
+ | if (left(msg, 4) == " | ||
+ | printf(" | ||
+ | break; | ||
+ | } else if (msg != "" | ||
+ | printf(" | ||
+ | } | ||
+ | } | ||
+ | |||
+ | close(sock); | ||
+ | exit(0); | ||
+ | |||
+ | </ | ||