Simple Client TCP for FRDM
Dependencies: EthernetInterface-FRDM mbed-rtos mbed
Fork of CyaSSL-EchoClient by
Revision 5:b74ac4acd827, committed 2015-02-07
- Comitter:
- wolfSSL
- Date:
- Sat Feb 07 18:39:41 2015 +0000
- Parent:
- 4:3cd5b93387c7
- Commit message:
- getline for server ip address
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Sat Feb 07 11:37:42 2015 +0000 +++ b/main.cpp Sat Feb 07 18:39:41 2015 +0000 @@ -19,6 +19,7 @@ n = socket.receive(buf, sz) ; if(n >= 0)return n ; } + printf("SocketReceive:%d/%d\n", n, sz) ; return n ; } @@ -29,11 +30,21 @@ n = socket.send(buf, sz); if(n > 0) { return n ; - } + } else printf("SocketSend:%d/%d\n", n, sz); return n ; } end SSL ***/ +void getline(char *line, int size) { + for(int i=0; i<size; i++) { + if((line[i] = getchar()) == '\r') { + line[i] = '\0' ; + putchar('\n') ; + break ; + } else putchar(line[i]) ; + } +} + EthernetInterface eth; void net_main(void const *av) @@ -46,6 +57,8 @@ CYASSL_METHOD* method = CyaTLSv1_2_client_method(); end SSL ***/ + + /* Initialize CyaSSL Context */ /*** SSL ctx = CyaSSL_CTX_new(method); @@ -58,8 +71,7 @@ socket.set_blocking(false, 300) ; printf("Server IP: ") ; - scanf("%s", server_ip) ; - puts(server_ip) ; + getline(server_ip, sizeof(server_ip)) ; while (socket.connect(server_ip, PORT) < 0) { printf("Unable to connect to (%s) on port (%d)\n", server_ip, PORT); @@ -80,23 +92,23 @@ printf("SSL Connected\n") ; ***/ - char msg[] = "GET / HTTP/1.0\r\n\r\n" ; - + char msg[] = "GET /index.html HTTP/1.0\r\nConnection: Close\r\n\r\n" ; + printf("Client Request: \n%s\n",msg) ; if (/*** SSL CyaSSL_write(ssl, end SSL***/ socket.send(msg, sizeof(msg)-1) != (sizeof(msg)-1)) err_sys("CyaSSL_write failed"); - printf("Client Request: \n%s\n",msg) ; + char buf[1024]; int n ; puts("Server Response:\n") ; do { n = /*** SSL CyaSSL_read(ssl, end SSL ***/ socket.receive(buf, sizeof(buf)-1); - if (n > 0) { + if (n >= 0) { buf[n] = 0; printf("%s", buf); } else - break ; + err_sys("CyaSSL_read failed"); } while(n > 0) ; puts("=== === === ===") ; /*** SSL CyaSSL_free(ssl) ; ***/