IP del mio computer della rete locale è 192.168.0.100
, inizio la mia QTcpServer conQTcpServer si può accedere solo tramite localhost
if (!tcpServer->listen(QHostAddress::LocalHost, 1234)) {
Quando provo a collegarmi ad esso con netcat 192.168.0.100 1234
, la connessione viene rifiutata, ma netcat localhost 1234
riesce .
Allo stesso tempo, se ascolto con netcat -l -p 1234
, posso connettermi sia su 192.168.0.100
e localhost
senza alcun problema.
Questo mi fa grattarmi la testa, perché sta succedendo?
Fino ad ora ho sempre pensato che l'ascolto su localhost ha fatto sì che si ottiene tutte le connessioni che raggiungono la macchina locale, in modo Ho pensato che 'QHostAddress :: LocalHost' è lo stesso di' QHostAddress :: Any'. Grazie per averlo chiarito. – sashoalm
Sì, questa è una causa frequente di confusione. L'ascolto su '127.0.0.1' è destinato ai casi in cui * non * si desidera consentire una connessione dall'esterno, come quando si esegue un server DB sulla stessa macchina del server Web e non si desidera esporre ecc. –
Sembra che vada anche nella direzione opposta. Ho provato con 'tcpServer-> listen (QHostAddress (" 192.168.56.1 "), 1234))' e ora non accetterà 'netcat localhost 1234', solo' netcat 192.168.56.1'. – sashoalm