TCP client mbed RTOS
Dependencies: mbed LM75B mbed-rtos EthernetInterface
main.cpp@15:954b6cd3d853, 2020-06-30 (annotated)
- Committer:
- cathaldigi
- Date:
- Tue Jun 30 12:48:22 2020 +0000
- Revision:
- 15:954b6cd3d853
- Parent:
- 11:59dcefdda506
- Child:
- 16:3d431098b650
Working TCP Client on mbed RTOS
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
donatien | 0:bb128f0e952f | 1 | #include "mbed.h" |
donatien | 0:bb128f0e952f | 2 | #include "EthernetInterface.h" |
donatien | 0:bb128f0e952f | 3 | |
cathaldigi | 15:954b6cd3d853 | 4 | static const char* mbedIP = "192.168.5.10"; //IP |
cathaldigi | 15:954b6cd3d853 | 5 | static const char* mbedMask = "255.255.255.0"; // Mask |
cathaldigi | 15:954b6cd3d853 | 6 | static const char* mbedGateway = "192.168.5.1"; //Gateway |
cathaldigi | 15:954b6cd3d853 | 7 | |
cathaldigi | 15:954b6cd3d853 | 8 | const int ECHO_SERVER_PORT = 2224; |
cathaldigi | 15:954b6cd3d853 | 9 | const char* ECHO_SERVER_ADDRESS = "192.168.5.15"; // laptop address |
cathaldigi | 15:954b6cd3d853 | 10 | |
emilmont | 7:65188f4a8c25 | 11 | int main() { |
donatien | 0:bb128f0e952f | 12 | EthernetInterface eth; |
cathaldigi | 15:954b6cd3d853 | 13 | eth.init(mbedIP,mbedMask,mbedGateway); //Use DHCP |
donatien | 0:bb128f0e952f | 14 | eth.connect(); |
emilmont | 2:e087e9b789e9 | 15 | printf("IP Address is %s\n", eth.getIPAddress()); |
donatien | 0:bb128f0e952f | 16 | |
cathaldigi | 15:954b6cd3d853 | 17 | while(1) { |
cathaldigi | 15:954b6cd3d853 | 18 | TCPSocketConnection sock; |
cathaldigi | 15:954b6cd3d853 | 19 | sock.connect(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT); |
cathaldigi | 15:954b6cd3d853 | 20 | |
cathaldigi | 15:954b6cd3d853 | 21 | char http_cmd[] = "Testing"; |
cathaldigi | 15:954b6cd3d853 | 22 | sock.send_all(http_cmd, sizeof(http_cmd)-1); |
cathaldigi | 15:954b6cd3d853 | 23 | |
cathaldigi | 15:954b6cd3d853 | 24 | char buffer[300]; |
cathaldigi | 15:954b6cd3d853 | 25 | int ret; |
cathaldigi | 15:954b6cd3d853 | 26 | while (false) { |
cathaldigi | 15:954b6cd3d853 | 27 | ret = sock.receive(buffer, sizeof(buffer)-1); |
cathaldigi | 15:954b6cd3d853 | 28 | if (ret <= 0) |
cathaldigi | 15:954b6cd3d853 | 29 | break; |
cathaldigi | 15:954b6cd3d853 | 30 | buffer[ret] = '\0'; |
cathaldigi | 15:954b6cd3d853 | 31 | printf("Received %d chars from server:\n%s\n", ret, buffer); |
cathaldigi | 15:954b6cd3d853 | 32 | } |
cathaldigi | 15:954b6cd3d853 | 33 | |
cathaldigi | 15:954b6cd3d853 | 34 | sock.close(); |
cathaldigi | 15:954b6cd3d853 | 35 | Thread::wait(1000); |
emilmont | 7:65188f4a8c25 | 36 | } |
donatien | 0:bb128f0e952f | 37 | |
emilmont | 7:65188f4a8c25 | 38 | eth.disconnect(); |
donatien | 5:01f6c3e112af | 39 | |
cathaldigi | 15:954b6cd3d853 | 40 | |
donatien | 0:bb128f0e952f | 41 | } |