Skip to content

Commit 8b078b4

Browse files
author
Seppo Takalo
committed
Improve error handling.
* socket.connect() was not causing program to stop, in case of error * socket.send() was printing "Error! socket.connect()..." in case of error * rename labels to upper case for readability
1 parent eebb8cc commit 8b078b4

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

main.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ int main() {
4040

4141
// Open a socket on the network interface, and create a TCP connection to mbed.org
4242
TCPSocket socket;
43+
// Send a simple http request
44+
char sbuffer[] = "GET / HTTP/1.1\r\nHost: api.ipify.org\r\nConnection: close\r\n\r\n";
45+
nsapi_size_t size = strlen(sbuffer);
46+
4347
r = socket.open(net);
4448
if (r != 0) {
4549
printf("Error! socket.open() returned: %d\n", r);
@@ -48,18 +52,15 @@ int main() {
4852
r = socket.connect("api.ipify.org", 80);
4953
if (r != 0) {
5054
printf("Error! socket.connect() returned: %d\n", r);
55+
goto DISCONNECT;
5156
}
5257

53-
// Send a simple http request
54-
char sbuffer[] = "GET / HTTP/1.1\r\nHost: api.ipify.org\r\nConnection: close\r\n\r\n";
55-
nsapi_size_t size = strlen(sbuffer);
56-
5758
// Loop until whole request send
5859
while(size) {
5960
r = socket.send(sbuffer+r, size);
6061
if (r < 0) {
61-
printf("Error! socket.connect() returned: %d\n", r);
62-
goto disconnect;
62+
printf("Error! socket.send() returned: %d\n", r);
63+
goto DISCONNECT;
6364
}
6465
size -= r;
6566
printf("sent %d [%.*s]\n", r, strstr(sbuffer, "\r\n")-sbuffer, sbuffer);
@@ -76,7 +77,7 @@ int main() {
7677
}
7778
if (r < 0) {
7879
printf("Error! socket.recv() returned: %d\n", r);
79-
goto disconnect;
80+
goto DISCONNECT;
8081
}
8182

8283
printf("recv %d [%.*s]\n", rcount, strstr(buffer, "\r\n")-buffer, buffer);
@@ -86,7 +87,7 @@ int main() {
8687
printf("External IP address: %.*s\n", rcount-(p-buffer), p);
8788
delete[] buffer;
8889

89-
disconnect:
90+
DISCONNECT:
9091
// Close the socket to return its memory and bring down the network interface
9192
socket.close();
9293

0 commit comments

Comments
 (0)