Simple code for comunication via TCP between the mbed and PC.

Dependencies:   EthernetInterface SimpleSocket mbed-rtos mbed

Fork of SimpleSocketExamples by Hiroshi Yamaguchi

Committer:
numeral369
Date:
Wed Dec 17 16:06:00 2014 +0000
Revision:
1:016774025718
Parent:
0:6dc3cfd058c6
A simple code for comunication via TCP between the Mbed and a PC

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yamaguch 0:6dc3cfd058c6 1 #include "SimpleSocket.h"
yamaguch 0:6dc3cfd058c6 2
yamaguch 0:6dc3cfd058c6 3 void echoclient() {
yamaguch 0:6dc3cfd058c6 4 printf("Echo server => ");
yamaguch 0:6dc3cfd058c6 5 char server[32];
yamaguch 0:6dc3cfd058c6 6 scanf("%s", server);
yamaguch 0:6dc3cfd058c6 7
yamaguch 0:6dc3cfd058c6 8 ClientSocket socket(server, 1234);
yamaguch 0:6dc3cfd058c6 9
yamaguch 0:6dc3cfd058c6 10 if (socket) {
yamaguch 0:6dc3cfd058c6 11 char message[80] = {};
yamaguch 0:6dc3cfd058c6 12 printf("Enter message => ");
yamaguch 0:6dc3cfd058c6 13 int c = 0;
yamaguch 0:6dc3cfd058c6 14 while (c < ' ' || 0x7E < c)
yamaguch 0:6dc3cfd058c6 15 c = getc(stdin);
yamaguch 0:6dc3cfd058c6 16 ungetc(c, stdin);
yamaguch 0:6dc3cfd058c6 17 for (int i = 0; i < sizeof(message) - 1 && (c = getc(stdin)) >= ' '; i++)
yamaguch 0:6dc3cfd058c6 18 message[i] = c;
yamaguch 0:6dc3cfd058c6 19
yamaguch 0:6dc3cfd058c6 20 socket.printf("%s\r\n", message);
yamaguch 0:6dc3cfd058c6 21
yamaguch 0:6dc3cfd058c6 22 // wait until data is received
yamaguch 0:6dc3cfd058c6 23 while (!socket.available())
yamaguch 0:6dc3cfd058c6 24 ;
yamaguch 0:6dc3cfd058c6 25 printf("Received: ");
yamaguch 0:6dc3cfd058c6 26
yamaguch 0:6dc3cfd058c6 27 while (socket.available()) {
yamaguch 0:6dc3cfd058c6 28 char buf[128];
yamaguch 0:6dc3cfd058c6 29 int len = socket.read(buf, sizeof(buf) - 1);
yamaguch 0:6dc3cfd058c6 30 buf[len] = '\0';
yamaguch 0:6dc3cfd058c6 31 printf("%s", buf);
yamaguch 0:6dc3cfd058c6 32 }
yamaguch 0:6dc3cfd058c6 33 printf("\nClosing...\n");
yamaguch 0:6dc3cfd058c6 34 socket.close();
yamaguch 0:6dc3cfd058c6 35 }
yamaguch 0:6dc3cfd058c6 36 printf("Done.\n");
yamaguch 0:6dc3cfd058c6 37 }