Я хочу близко CFSocket

Я имею, создают сокет с CFSocket. Моя программа корректна, но теперь я хочу закрыть сокет (сторона клиента). Существует istruction? Спасибо и жаль о моем английском XP

Мой код:

CFSocketRef s;
s = CFSocketCreate(
        NULL, 
        PF_INET,
        SOCK_STREAM, 
        IPPROTO_TCP, 
        kCFSocketDataCallBack, 
        AcceptDataCallback, 
        &context);
...
CFSocketConnectToAddress(s, address, 0);
...
//here i wanna close the socket
8
задан zp26 18 May 2010 в 20:28
поделиться

1 ответ

CFRelease(s) должен закрыть и уничтожить сокет.

edit (после дополнительного исследования)

Согласно документации, правильный способ закрыть сокет - это сделать его недействительным (аналогично тому, как работает таймер). Поэтому вам нужно сделать следующее:

CFSocketInvalidate(s);  //closes the socket, unless you set the option to not close on invalidation
CFRelease(s);  //balance the create
17
ответ дан 5 December 2019 в 10:01
поделиться