Привет всем. Начал изучать программирование сокетов в линух и столкнулся с одной проблемой, вот часть листинга:
....
#define PORTNUM 13000
#define HOSTLEN 256
#define oops(msg) {perror(msg);exit(1);}
int main(int ac, char *av[]){
struct sockaddr_in saddr;
struct hostent *hp;
char hostname[HOSTLEN];
int sock_id, sock_fd;
FILE *sock_fp;
time_t thetime;
if ((sock_id = socket(PF_INET, SOCK_STREAM, 0)) == -1)oops("socket");
bzero ((void*)&saddr, sizeof(saddr));
gethostname (hostname, HOSTLEN);
hp = gethostbyname(hostname);
printf("After gethostbyname!");
.....
проблема в состоит в том, что функция gethostbyname(hostname) не работает.
Сообщение "After gethostbyname!" не будет распечатанно из-за того что програма остановится на данной функции и не захочет идти дальше!
вставлял вместо gethostname (hostname, HOSTLEN); вот это strcpy(hostname, "127.0.0.1"), результат все тот-же!!! (((
Помогите решить проблему!
g++ (GCC) 4.4.3
Linux debian 2.6.26-2-amd64
Заранее спасибо за помощь!!