This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
sdk:tcp2sms [2015/07/03 08:57] fachet |
sdk:tcp2sms [2017/10/23 16:45] fachet |
||
---|---|---|---|
Line 3: | Line 3: | ||
* Don't forget to configure and enable the SMS service first | * Don't forget to configure and enable the SMS service first | ||
* The number format is international e.g. +4912345678 | * The number format is international e.g. +4912345678 | ||
- | * Copyright (C) 2012 NetModule AG, Switzerland | + | * |
+ | * Copyright (C) 2017 NetModule AG, Switzerland (rfa) | ||
*/ | */ | ||
- | port = 2000; | ||
- | if ((s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) exit(1); | + | PORT = 2000; |
- | if (bind(s, port, "") == -1) exit(2); | + | |
- | if (listen(s, 1) == -1) exit(3); | + | |
- | for(;;) { | + | if ((s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) |
- | if (c = accept(s)) | + | exit(1); |
- | for(;;) { | + | if (bind(s, PORT, "") == -1) |
- | if ((r = select(c, 10)) == - 1) exit(4); | + | exit(2); |
- | if (r == 0) continue; | + | if (listen(s, 1) == -1) |
- | m = recv(c); | + | exit(3); |
- | if (p = strchr(m, ":")) | + | |
- | if (nb_sms_send(left(m, p), right(m, strlen(m) - p - 1))) | + | |
- | send(s, "Spooled\n"); | + | |
- | else | + | |
- | send(s, "Error\n"); | + | |
- | } | + | |
- | } | + | |
+ | while (true) { | ||
+ | if (c = accept(s)) { | ||
+ | while (true) { | ||
+ | if ((r = select(c, 10)) == - 1) | ||
+ | exit(4); | ||
+ | if (r == 0) | ||
+ | continue; | ||
+ | m = recv(c); | ||
+ | if (p = strchr(m, ":")) | ||
+ | if (nb_sms_send(left(m, p), right(m, strlen(m) - p - 1))) | ||
+ | send(c, "Spooled\n"); | ||
+ | else | ||
+ | send(c, "Error\n"); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | /* not reached */ | ||
</code> | </code> |