Forwarded: no
Last-Update: 2019-09-02
Other clients hang at "Waiting for Peer..." when attempting to connect to
jacktrip running as a server. This is because of a change to the way that
QHostAddress works in Qt5, resulting in the return of an IPv4-mapped address
instead of an IPv4 address. The attached a patch fixes this (restoring the
behaviour shown by Qt4).
Last-Update: 2019-09-02
Gbp-Pq: Name convert_IPv4.patch
UdpSockTemp.readDatagram(buf, 1, &peerHostAddress, &peer_port);
UdpSockTemp.close(); // close the socket
- mPeerAddress = peerHostAddress.toString();
+ // Convert any IPv4-mapped address to an actual IPv4 address
+ // (Due to a change in the way that QHostAddress works in Qt5)
+ bool couldConvert;
+ QHostAddress ipv4Address(peerHostAddress.toIPv4Address(&couldConvert));
+ if (couldConvert) {
+ mPeerAddress = ipv4Address.toString();
+ } else {
+ mPeerAddress = peerHostAddress.toString();
+ }
+
cout << "Client Connection Received from IP : "
<< qPrintable(mPeerAddress) << endl;
cout << gPrintSeparator << endl;