Обычно вы не сможете узнать, заблокирован ли порт, если не попытаетесь связаться с этим портом и получить ответ, насколько я знаю, по крайней мере. Однако вы можете определить, используется ли этот порт. Этот метод используется в GCDAsyncSocket для определения такого случая.
NSError *error = nil;
if (![socket bindToPort:port error:&error])
{
[self logError:[NSString stringWithFormat:@"Error binding port: %@", error)]];
return;
}
Работа в сети очень популярна, и мы надеемся, что в большинстве случаев это удастся.