summaryrefslogtreecommitdiff
path: root/tmk_core/tool/mbed/mbed-sdk/libraries/tests/net/echo/tcp_client/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/tool/mbed/mbed-sdk/libraries/tests/net/echo/tcp_client/main.cpp')
-rw-r--r--tmk_core/tool/mbed/mbed-sdk/libraries/tests/net/echo/tcp_client/main.cpp59
1 files changed, 59 insertions, 0 deletions
diff --git a/tmk_core/tool/mbed/mbed-sdk/libraries/tests/net/echo/tcp_client/main.cpp b/tmk_core/tool/mbed/mbed-sdk/libraries/tests/net/echo/tcp_client/main.cpp
new file mode 100644
index 0000000000..17193f08d0
--- /dev/null
+++ b/tmk_core/tool/mbed/mbed-sdk/libraries/tests/net/echo/tcp_client/main.cpp
@@ -0,0 +1,59 @@
+#include "mbed.h"
+#include "test_env.h"
+#include "EthernetInterface.h"
+
+struct s_ip_address {
+ int ip_1;
+ int ip_2;
+ int ip_3;
+ int ip_4;
+};
+
+int main() {
+ MBED_HOSTTEST_TIMEOUT(20);
+ MBED_HOSTTEST_SELECT(tcpecho_client_auto);
+ MBED_HOSTTEST_DESCRIPTION(TCP echo client);
+ MBED_HOSTTEST_START("NET_4");
+
+ char buffer[256] = {0};
+ char out_buffer[] = "Hello World\n";
+ char out_success[] = "{{success}}\n{{end}}\n";
+ char out_failure[] = "{{failure}}\n{{end}}\n";
+ s_ip_address ip_addr = {0, 0, 0, 0};
+ int port = 0;
+
+ printf("TCPCllient waiting for server IP and port..." NL);
+ scanf("%d.%d.%d.%d:%d", &ip_addr.ip_1, &ip_addr.ip_2, &ip_addr.ip_3, &ip_addr.ip_4, &port);
+ printf("Address received:%d.%d.%d.%d:%d" NL, ip_addr.ip_1, ip_addr.ip_2, ip_addr.ip_3, ip_addr.ip_4, port);
+
+ EthernetInterface eth;
+ eth.init(); //Use DHCP
+ eth.connect();
+
+ printf("TCPClient IP Address is %s" NL, eth.getIPAddress());
+ sprintf(buffer, "%d.%d.%d.%d", ip_addr.ip_1, ip_addr.ip_2, ip_addr.ip_3, ip_addr.ip_4);
+
+ TCPSocketConnection socket;
+ while (socket.connect(buffer, port) < 0) {
+ printf("TCPCllient unable to connect to %s:%d" NL, buffer, port);
+ wait(1);
+ }
+
+ socket.send_all(out_buffer, sizeof(out_buffer) - 1);
+
+ int n = socket.receive(buffer, sizeof(buffer));
+ if (n > 0)
+ {
+ buffer[n] = '\0';
+ printf("%s", buffer);
+ if (strncmp(out_buffer, buffer, sizeof(out_buffer) - 1) == 0) {
+ socket.send_all(out_success, sizeof(out_success) - 1);
+ }
+ }
+
+ socket.send_all(out_failure, sizeof(out_failure) - 1);
+
+ socket.close();
+ eth.disconnect();
+ return 0;
+}