see: http://mbed.org/users/gsfan/notebook/GSwifiInterface/
Dependencies: GSwifiInterface mbed-rtos mbed
main.cpp@0:017aeea23f98, 2013-10-31 (annotated)
- Committer:
- gsfan
- Date:
- Thu Oct 31 08:40:45 2013 +0000
- Revision:
- 0:017aeea23f98
1st build
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gsfan | 0:017aeea23f98 | 1 | #include "mbed.h" |
gsfan | 0:017aeea23f98 | 2 | #include "GSwifiInterface.h" |
gsfan | 0:017aeea23f98 | 3 | |
gsfan | 0:017aeea23f98 | 4 | #define SEC GSwifi::SEC_WPA_PSK |
gsfan | 0:017aeea23f98 | 5 | #define SSID "SSID" |
gsfan | 0:017aeea23f98 | 6 | #define PASS "PASSPHRASE" |
gsfan | 0:017aeea23f98 | 7 | |
gsfan | 0:017aeea23f98 | 8 | #define ECHO_SERVER_PORT 10000 |
gsfan | 0:017aeea23f98 | 9 | |
gsfan | 0:017aeea23f98 | 10 | int main () { |
gsfan | 0:017aeea23f98 | 11 | GSwifiInterface gs(p13, p14, p12, P0_22, p20, NC); |
gsfan | 0:017aeea23f98 | 12 | printf("TCP Echo Server...\n"); |
gsfan | 0:017aeea23f98 | 13 | gs.init(); //Use DHCP |
gsfan | 0:017aeea23f98 | 14 | if (gs.connect(SEC, SSID, PASS)) return -1; // join the network |
gsfan | 0:017aeea23f98 | 15 | printf("IP Address is %s\n", gs.getIPAddress()); |
gsfan | 0:017aeea23f98 | 16 | |
gsfan | 0:017aeea23f98 | 17 | TCPSocketServer server; |
gsfan | 0:017aeea23f98 | 18 | server.bind(ECHO_SERVER_PORT); |
gsfan | 0:017aeea23f98 | 19 | server.listen(); |
gsfan | 0:017aeea23f98 | 20 | |
gsfan | 0:017aeea23f98 | 21 | while (true) { |
gsfan | 0:017aeea23f98 | 22 | printf("\nWait for new connection...\n"); |
gsfan | 0:017aeea23f98 | 23 | TCPSocketConnection client; |
gsfan | 0:017aeea23f98 | 24 | server.accept(client); |
gsfan | 0:017aeea23f98 | 25 | client.set_blocking(false, 1500); // Timeout after (1.5)s |
gsfan | 0:017aeea23f98 | 26 | |
gsfan | 0:017aeea23f98 | 27 | printf("Connection from: %s\n", client.get_address()); |
gsfan | 0:017aeea23f98 | 28 | char buffer[256]; |
gsfan | 0:017aeea23f98 | 29 | while (true) { |
gsfan | 0:017aeea23f98 | 30 | int n = client.receive(buffer, sizeof(buffer)); |
gsfan | 0:017aeea23f98 | 31 | if (n <= 0) break; |
gsfan | 0:017aeea23f98 | 32 | |
gsfan | 0:017aeea23f98 | 33 | client.send_all(buffer, n); |
gsfan | 0:017aeea23f98 | 34 | if (n <= 0) break; |
gsfan | 0:017aeea23f98 | 35 | } |
gsfan | 0:017aeea23f98 | 36 | |
gsfan | 0:017aeea23f98 | 37 | client.close(); |
gsfan | 0:017aeea23f98 | 38 | } |
gsfan | 0:017aeea23f98 | 39 | } |