UDP Socket binding problem
-
Hello!
I'm exploring udp sockets in qt and have a little problem...
Creating a socket:
@
_sock = new QUdpSocket(this);if (!_sock->bind(QHostAddress::Any, _port))
{
Log::Error("LoginServer","Failed to bind %d",_port);
return;
}
connect(_sock, SIGNAL(readyRead()), this, SLOT(HandleLogin()));
Log::Trace("LoginServer","LoginServer successfully binded to %d port",_port);
@connecting to socket
@
QString str("abc");
QByteArray hash = QCryptographicHash::hash(str.toUtf8(), QCryptographicHash::Md5);
QByteArray datagram;
QDataStream* stream = new QDataStream(&datagram,QIODevice::WriteOnly);
stream->writeBytes("admin\0",5);
*stream << hash.toHex();
quint16 port=3075;
QHostAddress adr("192.168.1.96");
qint64 sent=_sock->writeDatagram(datagram,adr,3075);
@Problem:
if i put instead adr QHostAddress::LocalHost everything is ok connection performed
but if i put external ip or internal local ip connection don't occured
port forvarding on my router is set up
sory for my bad english -
If the localhost does work it is the connection between the nodes themselves. Maybe try a IP sniffer program to analyse the data on the port your using?