ТС, а искать по форуму не учили?
Вот одно из направлений решения:
http://www.prog.org.ru/topic_20207_0.htmlНо я бы поступил иначе:
Создал свой класс MyCoolSocket, отнаследовавшить бы к примеру от QAbstractSocket, и в нем бы реализовал метод:
C++ (Qt)
MyCoolSocket::CreateSocket()
{
// тут тупо взял бы и переписал метод createNewSocket() скопипастив его
// (см исходники QAbstractSocket )
int descriptor = createNewSocket(бла бла бла);
// потом сделал бы
setSocketDescriptor(descriptor);
}
потом сделал бы метод bind(...)
C++ (Qt)
MyCoolSocket::bind(бла бла)
{
int descriptor = socketDescriptor();
// потом написал платформо-зависимый код для bind
// или опять же тупо скопипастил реализацию nativeBind(), немного подправив
::bind(descriptor, блабла address);
}
И использовал бы в коде так:
C++ (Qt)
{
MyCoolSocket socket;
socket.CreateSocket(socketOptions);
socket.bind(desiredNetworkIfaceAddress, bindOptions);
socket.connectToHost(remoteAddress, port);
...
}
Как-то так в двух словах.