Здравствуйте, у меня проблема, когда я пишу сервер, используя API сокета. Я всегда получаю эту ошибку: «Операция сокета без сокета»
struct sockaddr_in addr;
int port = 10000;
int sd;
memset((char *) &addr,0, sizeof(addr));
addr.sin_family = PF_INET;
addr.sin_addr.s_addr = htonl(INADDR_ANY);
addr.sin_port = htonl((u_short)port);
if ((sd = socket(PF_INET, SOCK_STREAM, 0) < 0)) {
printf("socket failed");
}
if(bind(sd, (struct sockaddr *)&addr, sizeof(addr)) != 0)
{
printf(strerror(errno));
}
close(sd);
return 0;}
perror()
илиstrerror()
, и (б) не продолжайте, как если бы ошибки не было. И не правильно тестировать системные вызовы для!= 0
: правильный тест это== -1
или< 0
. - person user207421   schedule 27.02.2015