Io uso Qt per la mia comunicazione TCP. Se il mio PC ha 2 interfacce di rete (diciamo eth0, eth1), e dico che voglio usare esplicitamente eth1, come faccio a farlo in Qt?Come scegliere quale interfaccia di rete utilizzare?
6
A
risposta
7
QTcpServer :: listen prende l'indirizzo dell'interfaccia che si desidera ascoltare come primo argomento.
Se hai 192.168.0.1 indirizzo IP eth0 e 10.0.0.0.1 su eth1 allora
QTcpServer serv0;
QTcpServer serv1;
serv0.listen(QHostAddress("192.168.0.1"), 8080);
serv1.listen(QHostAddress("10.0.0.0.1"), 8080);
serv0 ascolterà solo porta 8080 sulla eth0 e Serv1 ascolterà solo porta 8080 sulla eth1.
Non esiste alcun modo per specificare quale interfaccia deve utilizzare QTcpSocket poiché è stata decisa dal sistema operativo in base alla tabella di routing del kernel.
È possibile utilizzare QNetworkInterface :: allAddresses() per ottenere l'elenco degli indirizzi di interfacce disponibili.
1
Questa non è una domanda di Qt, è una domanda di socket. Bind() all'indirizzo su eth1. Devi sperare che la tabella di routing faccia effettivamente quello che ti aspetti quando lo fai.
Problemi correlati
- 1. Come fa il sistema operativo a sapere quale interfaccia di rete utilizzare per Internet?
- 2. Individuare quale interfaccia di rete appartiene al contenitore mobile
- 3. Come scegliere l'icona giusta "luogo della rete"?
- 4. Come specificare quale interfaccia di rete deve essere utilizzata dall'emulatore Android sul mio computer di sviluppo?
- 5. Set Interfaccia di rete Metrica
- 6. Quale versione di Android scegliere come target?
- 7. Quale pacchetto FRP scegliere?
- 8. WPF Quale IDE scegliere?
- 9. Quale ChoiceBox-Event scegliere?
- 10. Utilizzare un enum per scegliere quale classe istanziare
- 11. Quale formato di archiviazione delle impostazioni scegliere?
- 12. java log4j scegliere quale file registrare a
- 13. Errore casella virtuale "Interfaccia di rete inesistente"
- 14. Multithreading vs. Multiistanza - Quale scegliere?
- 15. Differenza SAXParserFactory XMLReaderFactory. Quale scegliere?
- 16. Quale fork/versione di MySQL scegliere?
- 17. Ereditarietà di Python: scegliere quale super() chiamare
- 18. Virtual box Solo host Interfaccia di rete
- 19. Quale framework ASP.NET MVC Routing scegliere?
- 20. Database Cassandra, quale interfaccia python?
- 21. Gestione interfaccia di rete Linux con codice C
- 22. quale scegliere? DXCore, Resharper o VSX?
- 23. HTML5 vs Native App: quale scegliere ??
- 24. MQTT vs. XMPP Quale dovrei scegliere?
- 25. Oracle XE o MySQL, quale dovrei scegliere?
- 26. Android build target, duplicati, quale scegliere?
- 27. In MySQL, quale fascicolazione dovrei scegliere?
- 28. BNF vs EBNF vs ABNF: quale scegliere?
- 29. Convalida Javascript vs ASP.NET, quale scegliere?
- 30. Quale soluzione RTOS Linux devo scegliere?