@@ -81,22 +81,38 @@ void scan_demo(WiFiInterface *wifi)
81
81
void http_demo (NetworkInterface *net)
82
82
{
83
83
TCPSocket socket;
84
+ nsapi_error_t response;
84
85
85
86
printf (" Sending HTTP request to www.arm.com...\r\n " );
86
87
87
88
// Open a socket on the network interface, and create a TCP connection to www.arm.com
88
89
socket.open (net);
89
- socket.connect (" www.arm.com" , 80 );
90
+ response = socket.connect (" www.arm.com" , 80 );
91
+ if (0 != response) {
92
+ printf (" Error connecting: %d\r\n " , response);
93
+ socket.close ();
94
+ return ;
95
+ }
90
96
91
97
// Send a simple http request
92
98
char sbuffer[] = " GET / HTTP/1.1\r\n Host: www.arm.com\r\n\r\n " ;
93
- int scount = socket.send (sbuffer, sizeof sbuffer);
94
- printf (" sent %d [%.*s]\r\n " , scount, strstr (sbuffer, " \r\n " )-sbuffer, sbuffer);
99
+ response = socket.send (sbuffer, sizeof sbuffer);
100
+ if (response < 0 ) {
101
+ printf (" Error sending data: %d\r\n " , response);
102
+ socket.close ();
103
+ return ;
104
+ } else {
105
+ printf (" sent %d [%.*s]\r\n " , response, strstr (sbuffer, " \r\n " )-sbuffer, sbuffer);
106
+ }
95
107
96
108
// Recieve a simple http response and print out the response line
97
109
char rbuffer[64 ];
98
- int rcount = socket.recv (rbuffer, sizeof rbuffer);
99
- printf (" recv %d [%.*s]\r\n " , rcount, strstr (rbuffer, " \r\n " )-rbuffer, rbuffer);
110
+ response = socket.recv (rbuffer, sizeof rbuffer);
111
+ if (response < 0 ) {
112
+ printf (" Error receiving data: %d\r\n " , response);
113
+ } else {
114
+ printf (" recv %d [%.*s]\r\n " , response, strstr (rbuffer, " \r\n " )-rbuffer, rbuffer);
115
+ }
100
116
101
117
// Close the socket to return its memory and bring down the network interface
102
118
socket.close ();
0 commit comments