TCP client mbed RTOS

Dependencies:   mbed LM75B mbed-rtos EthernetInterface

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?

UserRevisionLine numberNew 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 }