Scambio di dati in rete tra 2 programmi

di Anonimizzato21384 il
6 risposte
Salve, anzitutto premetto che ho 17 anni e programmo per passione quindi non sono un esperto. Detto questo vi illustro il problema: sto realizzando una battaglia navale (su console) e avrei la necessità poter eseguire il programma su due pc e fare in modo che si scambino dati. La mia idea era quella di creare una vlan con hamachi così da evitare gli ip dinamici ma non ho idea di come inviare le informazioni. Spero di aver descritto bene il problema e se qualcuno potesse aiutarmi mi farebbe un grosso piacere.

6 Risposte

  • Lo vuoi fare in C o in C++?
    tieni presente che l'implementazione della comunicazione diventa preponderante rispetto alla realizzazione del gioco.
    Se dovessi realizzarlo io utilizzerei il protocollo tcp/ip e farei in modo che la comunicazione tra due porte rimanesse sempre aperta (per esempio con una web-socket). In questo modo puoi giocare tra due qualsiasi computer collegati ad internet.
    Ma se non hai niente di già impostato e no hai le competenze risulta piuttosto complicato.
  • In c++, mantere la connessione aperta è quello che pensavo di fare. Sul fatto del complicato se magari hai una guida da linkarmi ti ringrazierei visto che su google trovo solo giude su modelli client/server mentre da come ho capito a me serve il modello peer to peer
  • Puoi divertirti a capire come funziona questo sorgente che usa select per discriminare tra nuova connessione ed esistente
    http://www.tenouk.com/Module41.htm
    Prendilo come un primo esempio
    per compilarlo con gcc devi sostituire
    
        int addrlen;
    
    con
    
        socklen_t addrlen;
    
    Se lo metti in esecuzione ti puoi collegare da un altro terminare con telnet ($telnet localhost 2020) e vedrai che il server si rende conto di essere collegato con un client .
    E' una mini chat, ogni client riceve i dati dagli altri client.
  • Ma aspe, lo devo eseguire su due host diversi collegati in che modo? Semplice connessione ad internet o vlan?
  • Semplice connessione a internet, un server e più cliente.
    Il cliente (poi ne dovrai scrivere uno), può essere per provare telnet.
  • Ok grazie
Devi accedere o registrarti per scrivere nel forum
6 risposte