середу, 14 липня 2010 р.

IP адреса без використання DNS

Раніше для того щоб отримати IP адресу я використовував gethostbyname, хоч і рекомендують її замінювати іншими. Проблеми з’являються, якщо у користувача якісь проблеми з мережою - програма просто застигає і чекає доки функція не віддасть керування (зменшити час очікування не вдається). Тому тепер я беру IP адресу з мережевого інтерфейсу (потрібно підключити ifaddrs.h):

ifaddrs *myaddrs, *ifa;
sockaddr_in *s4;
int status;
char ip[64];

status = getifaddrs(&myaddrs);
if (status != 0)
PrintLog("getifaddrs failed");

for (ifa = myaddrs; ifa != NULL; ifa = ifa->ifa_next)
{
if (ifa->ifa_addr == NULL)
continue;
if ((ifa->ifa_flags & IFF_UP) == 0)
continue;

if (ifa->ifa_addr->sa_family == AF_INET)
{
s4 = (struct sockaddr_in *)(ifa->ifa_addr);
if (inet_ntop(ifa->ifa_addr->sa_family, (void *)&(s4->sin_addr), ip, sizeof(ip)) == NULL)
PrintLog("%s: inet_ntop failed", ifa->ifa_name);
}
}
freeifaddrs(myaddrs);

Протестовано на MacOS Snow Leopard і Tiger.

пʼятницю, 9 липня 2010 р.

BeHealthy 0.0.2 build 9 beta for Mac OS

BeHealthy 0.0.2b9 released.
Features:
  • new status icons
  • disable/enable display sleep option
  • status notification sounds

середу, 7 липня 2010 р.

BeHealthy now available in Bodega Mac apps store

Good news! Today BeHealthy was approved to great Mac application store Bodega. New updates of application will be soon - I'm working on it.

четвер, 1 липня 2010 р.

BeHealthy 0.0.1 build 1 beta for Mac OS

I've just released ver. 0.0.1 b1 of BeHealthy - utility to control your work time. I made it for my own, so feel free using it and be healthy.
BeHealthy
is currently in beta stage and therefore some functions might not work as you like. Please don’t get angry and have patience!
Mac OS 10.6 required
Download