bsd сокеты соединяют тайм-аут iPhone - PullRequest
0 голосов
/ 08 октября 2010

Как написать код, который указывает время ожидания для сокетов BSD connect syscall? Я пишу приложение для iPhone, и мне нужно долго ждать ответа от connect syscall. Есть ли примеры? Спасибо

Теперь у меня есть что-то вроде этого:

host_name = NULL ;
host_name = gethostbyname([[host_value hostname] UTF8String]) ; 
if (host_name != NULL)
{
    struct sockaddr_in sin;
    sock = socket(AF_INET, SOCK_STREAM, 0);
    sin.sin_family = AF_INET;
    sin.sin_port = htons([[host_value port_number] intValue]);
    memcpy((char *)&sin.sin_addr,(char*)host_name->h_addr,host_name->h_length);
    if (connect(sock, (struct sockaddr*)(&sin),sizeof(struct sockaddr_in)) != 0) 
    {
       /* code */
    }
}

1 Ответ

0 голосов
/ 20 августа 2011
s = socket(AF_INET, SOCK_STREAM, 0);  
int x;
x=fcntl(s,F_GETFL,0);
fcntl(s,F_SETFL,x | O_NONBLOCK);

От: http://rhoden.id.au/doc/sockets2.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...