TCP echo client from mbed to pc (as server)

Dependencies:   EthernetInterface mbed-rtos mbed

Fork of TCPEchoClient by mbed official

Committer:
MohamadNazrin
Date:
Tue Feb 20 05:09:39 2018 +0000
Revision:
11:a134fd8cbe67
Parent:
9:a640b18e5931
TCP echo client from mbed to pc

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:e8f884c94549 1 #include "mbed.h"
emilmont 1:a51d8ed156e6 2 #include "EthernetInterface.h"
emilmont 1:a51d8ed156e6 3
MohamadNazrin 11:a134fd8cbe67 4 const char* ECHO_SERVER_ADDRESS = "192.168.137.1";
emilmont 3:3fbf0efec25a 5 const int ECHO_SERVER_PORT = 7;
MohamadNazrin 11:a134fd8cbe67 6 static const char* mbedIp = "192.168.137.2"; //IP
MohamadNazrin 11:a134fd8cbe67 7 static const char* mbedMask = "255.255.255.0"; // Mask
MohamadNazrin 11:a134fd8cbe67 8 static const char* mbedGateway = "192.168.137.1"; //Gateway
emilmont 1:a51d8ed156e6 9 int main() {
emilmont 1:a51d8ed156e6 10 EthernetInterface eth;
MohamadNazrin 11:a134fd8cbe67 11 eth.init(mbedIp,mbedMask,mbedGateway);
MohamadNazrin 11:a134fd8cbe67 12 //eth.init(); //Use DHCP
emilmont 1:a51d8ed156e6 13 eth.connect();
mbedAustin 9:a640b18e5931 14 printf("\nClient IP Address is %s\n", eth.getIPAddress());
emilmont 1:a51d8ed156e6 15
mbedAustin 9:a640b18e5931 16 // Connect to Server
emilmont 3:3fbf0efec25a 17 TCPSocketConnection socket;
emilmont 3:3fbf0efec25a 18 while (socket.connect(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT) < 0) {
emilmont 3:3fbf0efec25a 19 printf("Unable to connect to (%s) on port (%d)\n", ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
emilmont 1:a51d8ed156e6 20 wait(1);
emilmont 1:a51d8ed156e6 21 }
mbedAustin 9:a640b18e5931 22 printf("Connected to Server at %s\n",ECHO_SERVER_ADDRESS);
emilmont 1:a51d8ed156e6 23
mbedAustin 9:a640b18e5931 24 // Send message to server
mbedAustin 9:a640b18e5931 25 char hello[] = "Hello World";
mbedAustin 9:a640b18e5931 26 printf("Sending message to Server : '%s' \n",hello);
emilmont 3:3fbf0efec25a 27 socket.send_all(hello, sizeof(hello) - 1);
emilmont 1:a51d8ed156e6 28
mbedAustin 9:a640b18e5931 29 // Receive message from server
emilmont 1:a51d8ed156e6 30 char buf[256];
emilmont 3:3fbf0efec25a 31 int n = socket.receive(buf, 256);
emilmont 2:563aa530f0dd 32 buf[n] = '\0';
mbedAustin 9:a640b18e5931 33 printf("Received message from server: '%s'\n", buf);
emilmont 1:a51d8ed156e6 34
mbedAustin 9:a640b18e5931 35 // Clean up
emilmont 3:3fbf0efec25a 36 socket.close();
emilmont 1:a51d8ed156e6 37 eth.disconnect();
emilmont 1:a51d8ed156e6 38
emilmont 1:a51d8ed156e6 39 while(true) {}
emilmont 1:a51d8ed156e6 40 }