wifly tcp echo client example
Dependencies: WiflyInterface mbed
main.cpp@0:8902d0b79ca8, 2012-12-20 (annotated)
- Committer:
- samux
- Date:
- Thu Dec 20 15:26:57 2012 +0000
- Revision:
- 0:8902d0b79ca8
wifly tcp echo client example
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
samux | 0:8902d0b79ca8 | 1 | #include "mbed.h" |
samux | 0:8902d0b79ca8 | 2 | #include "WiflyInterface.h" |
samux | 0:8902d0b79ca8 | 3 | |
samux | 0:8902d0b79ca8 | 4 | const char* ECHO_SERVER_ADDRESS = "192.168.1.2"; |
samux | 0:8902d0b79ca8 | 5 | const int ECHO_SERVER_PORT = 7; |
samux | 0:8902d0b79ca8 | 6 | |
samux | 0:8902d0b79ca8 | 7 | /* wifly object where: |
samux | 0:8902d0b79ca8 | 8 | * - p9 and p10 are for the serial communication |
samux | 0:8902d0b79ca8 | 9 | * - p25 is for the reset pin |
samux | 0:8902d0b79ca8 | 10 | * - p26 is for the connection status |
samux | 0:8902d0b79ca8 | 11 | * - "mbed" is the ssid of the network |
samux | 0:8902d0b79ca8 | 12 | * - "password" is the password |
samux | 0:8902d0b79ca8 | 13 | * - WPA is the security |
samux | 0:8902d0b79ca8 | 14 | */ |
samux | 0:8902d0b79ca8 | 15 | WiflyInterface wifly(p9, p10, p25, p26, "mbed", "password", WPA); |
samux | 0:8902d0b79ca8 | 16 | |
samux | 0:8902d0b79ca8 | 17 | int main() { |
samux | 0:8902d0b79ca8 | 18 | wifly.init(); // use DHCP |
samux | 0:8902d0b79ca8 | 19 | while (!wifly.connect()); // join the network |
samux | 0:8902d0b79ca8 | 20 | printf("IP Address is %s\n\r", wifly.getIPAddress()); |
samux | 0:8902d0b79ca8 | 21 | |
samux | 0:8902d0b79ca8 | 22 | TCPSocketConnection socket; |
samux | 0:8902d0b79ca8 | 23 | while (socket.connect(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT) < 0) { |
samux | 0:8902d0b79ca8 | 24 | printf("Unable to connect to (%s) on port (%d)\r\n", ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT); |
samux | 0:8902d0b79ca8 | 25 | wait(1); |
samux | 0:8902d0b79ca8 | 26 | } |
samux | 0:8902d0b79ca8 | 27 | socket.set_blocking(false, 1500); |
samux | 0:8902d0b79ca8 | 28 | |
samux | 0:8902d0b79ca8 | 29 | char out_buffer[256]; |
samux | 0:8902d0b79ca8 | 30 | char in_buffer[256]; |
samux | 0:8902d0b79ca8 | 31 | int i = 0; |
samux | 0:8902d0b79ca8 | 32 | |
samux | 0:8902d0b79ca8 | 33 | while (1) { |
samux | 0:8902d0b79ca8 | 34 | sprintf(out_buffer, "Echo TCP client: %d\r\n", i++); |
samux | 0:8902d0b79ca8 | 35 | int len = strlen(out_buffer); |
samux | 0:8902d0b79ca8 | 36 | socket.send_all(out_buffer, len); |
samux | 0:8902d0b79ca8 | 37 | |
samux | 0:8902d0b79ca8 | 38 | int n = socket.receive_all(in_buffer, len); |
samux | 0:8902d0b79ca8 | 39 | if (n < 0) continue; |
samux | 0:8902d0b79ca8 | 40 | |
samux | 0:8902d0b79ca8 | 41 | in_buffer[n] = '\0'; |
samux | 0:8902d0b79ca8 | 42 | printf("%s", in_buffer); |
samux | 0:8902d0b79ca8 | 43 | } |
samux | 0:8902d0b79ca8 | 44 | } |