Builder C ++ - Programmazione Internet di base
-
19-09-2019 - |
Domanda
Voglio collegare due PC e farli comunicare. C'è un bel componente per farlo? (preferibilmente da TMS o gratuito) o utilizzo solo librerie di socket C ++ standard?
E l'invio di dati? Dovrei inventare un semplice protocollo? TLV (tipo/lunghezza/valore), dove t è il tipo di messaggio e .. ottieni l'immagine ...
Soluzione
Dato che stai usando C ++ Builder, dovresti davvero usare i componenti Indy, sono un bel test ben testato e facile da lavorare con un set di componenti di networking ... e sono già integrati in C ++ Builder. Se si utilizza C ++ Builder, l'utilizzo di Qt o Boost può essere davvero problematico (ovviamente a seconda della versione Builder C ++).
Componenti Indy: http://www.indyproject.org/index.en.aspx
Con i componenti Indy ottieni tutti i componenti di cui hai fondamentalmente ogni tipo di sviluppo della rete di cui hai bisogno, è di gran lunga la soluzione di networking più completa per C ++ Builder/Delphi che ho visto.
Potresti trovare questo articolo interessante: Sviluppare applicazioni server basate su TCP/IP utilizzando i componenti INDY [1 Mostra esempi a Delphi, ma la conversione in C ++ dovrebbe essere banale.
oltre al Delphi in profondità [2 Il libro è una buona risorsa e contiene campioni anche in C ++.
Informazioni sullo sviluppo del tuo protocollo, è quasi impossibile rispondere a questa domanda con una risposta definitiva, dipende davvero dai requisiti che hai. Forse dovresti iniziare chiedendo, c'è un protocollo esistente che funzionerebbe per me, prima di finire, forse, reinventare la ruota.
[1] http://conferences.embarcadero.com/article/33256
[2] http://www.atozed.com/indy/book/index.en.aspx
Altri suggerimenti
Dovresti guardare Qt o Incremento. (Personalmente preferisco l'API e la documentazione di rete di QT, ma potresti sentirti diversamente.)
E per qualcosa di semplice, perché dovresti inventare il tuo protocollo? Basta usare http. È facile da lavorare e puoi usare tutti i tipi di strumenti, non solo il tuo codice, per verificare che tutto funzioni correttamente.