TCP echo client from mbed to pc (as server)
Dependencies: EthernetInterface mbed-rtos mbed
Fork of TCPEchoClient by
main.cpp@11:a134fd8cbe67, 2018-02-20 (annotated)
- 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?
User | Revision | Line number | New 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 | } |