SimpleSocket 1.0 examples

Dependencies:   EthernetNetIf SimpleSocket 1.0 mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers echoclient.cpp Source File

echoclient.cpp

00001 #include "EthernetNetIf.h"
00002 #include "SimpleSocket.h"
00003 
00004 void echoclient() {
00005     EthernetNetIf eth;
00006     eth.setup();
00007 
00008     printf("Echo server => ");
00009     char server[32];
00010     scanf("%s", server);
00011 
00012     ClientSocket socket(server, 1234);
00013 
00014     if (socket) {
00015         char message[80] = {};
00016         printf("Enter message => ");
00017         int c = 0;
00018         while (c < ' ' || 0x7E < c)
00019             c = getc(stdin);
00020         ungetc(c, stdin);
00021         for (int i = 0; i < sizeof(message) - 1 && (c = getc(stdin)) >= ' '; i++)
00022             message[i] = c;
00023 
00024         socket.printf("%s", message);
00025 
00026         // wait until data is received
00027         while (!socket.available())
00028             ;
00029         printf("Received: ");
00030 
00031         while (socket.available()) {
00032             char buf[128];
00033             int len = socket.read(buf, sizeof(buf) - 1);
00034             buf[len] = '\0';
00035             printf("%s", buf);
00036         }
00037         printf("\nClosing...\n");
00038         socket.close();
00039     }
00040     printf("Done.\n");
00041 }