Skip to content

Commit 1935ed4

Browse files
Replace string-based API with SocketAddress-based ones
1 parent daedb9e commit 1935ed4

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

main.cpp

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,13 @@ int main()
100100
}
101101

102102
// Show the network address
103-
const char *ip = net->get_ip_address();
104-
const char *netmask = net->get_netmask();
105-
const char *gateway = net->get_gateway();
106-
printf("IP address: %s\n", ip ? ip : "None");
107-
printf("Netmask: %s\n", netmask ? netmask : "None");
108-
printf("Gateway: %s\n", gateway ? gateway : "None");
103+
SocketAddress a;
104+
net->get_ip_address(&a);
105+
printf("IP address: %s\n", a.get_ip_address() ? a.get_ip_address() : "None");
106+
net->get_netmask(&a);
107+
printf("Netmask: %s\n", a.get_ip_address() ? a.get_ip_address() : "None");
108+
net->get_gateway(&a);
109+
printf("Gateway: %s\n", a.get_ip_address() ? a.get_ip_address() : "None");
109110

110111
Thread *thread = new Thread(osPriorityNormal1, 2048);
111112
thread->start(print_stats);
@@ -128,7 +129,13 @@ int main()
128129
char *buffer = new char[256];
129130
char *p = buffer;
130131

131-
result = socket.connect("api.ipify.org", 80);
132+
result = NetworkInterface::get_default_instance()->gethostbyname("api.ipify.org", &a);
133+
if (result != NSAPI_ERROR_OK) {
134+
printf("Error! DNS resolution failed with %d\n", result);
135+
goto DISCONNECT;
136+
}
137+
a.set_port(80);
138+
result = socket.connect(a);
132139
if (result != 0) {
133140
stdio_mutex.lock();
134141
printf("Error! socket.connect() returned: %d\n", result);

0 commit comments

Comments
 (0)