wifly tcp echo client example

Dependencies:   WiflyInterface mbed

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?

UserRevisionLine numberNew 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 }