Russian Qt Forum

Qt => Работа с сетью => Тема начата: majatu от Январь 26, 2010, 12:19



Название: Занят ли порт сокета?
Отправлено: majatu от Январь 26, 2010, 12:19
Как определить занят ли порт? делаю QUdpSocket.bind(...,port)


Название: Re: Занят ли порт сокета?
Отправлено: DS_tm от Январь 26, 2010, 12:32
Если я правильно понимаю, фнкция вернет false, и пошлет сигнал error со значением QAbstractSocket::AddressInUseError

Хотя, непонятно какое должно быть значение ошибки. Попробуйте выяснить опытным путем


Название: Re: Занят ли порт сокета?
Отправлено: niXman от Январь 26, 2010, 12:43
все верно. просто делаете бинд, и если вернула -1, проверяете значение переменной errno, если == EINVAL, значит занят.


Название: Re: Занят ли порт сокета?
Отправлено: BRE от Январь 26, 2010, 12:50
Ээээ, а если биндить с QUdpSocket::ShareAddress
bool QUdpSocket::bind ( const QHostAddress & address, quint16 port, BindMode mode )