Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++]db,soket e serializzazione

    Ciao.
    Vorrei creare due programmi sulla stessa macchina che si scambiano dei dati nel modo piu veloce possibile.
    Da quello che ne so bisognerebbe utilizzare le socket ammesso che si possa(questo lo chiedo a voi).
    Mi serve per trasferire mesh da blender un programma di grafica opensource di cui sono disponibili i sorgenti alla mia applicazione mfc.
    non so pero' alcune cose:
    1)quanto e se le soket possono essere piu' veloci di un db tipo sql lite.
    2)Bisogna serializzare i dati in memoria prima di inviarli con le socket?
    2-1)è possibile serializzare i dati in modo binario(il modo piu veloce) in c++,intendo senza boost che mi sembra un po troppo vasto per l'uso che devo fare, e chiedo anche se utilizzare boost possa rallentare in qualche maniera il mio progetto(un piccolo engine 3d).
    grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    151
    Vorrei creare due programmi sulla stessa macchina che si scambiano dei dati nel modo piu veloce possibile.
    Per lo scambio di dati puoi sicuramente utilizzare i socket.
    Potresti utilizzare anche un'area di memoria RAM condivisa e accessibile da entrambi i processi. (memory-mapped file).
    Qual'è il modo più veloce possibile è difficile a dirsi e dipende dai dati e da cosa devi fare.
    In linea di principio credo che dovrebbe essere il memory-mapped file.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    hai un link o della documentazione da consaigliarmi?
    Poi penso che serva una serializzazione binaria per poter far si che quello che un applicazione scrive sia comprensibile a chi legge o no?
    ad es ho la stessa classe Cdata in tutte e due le applicazioni che contine il mio formato raw per gli shader che lo renderizzano ecc..., e voglio passare un oggetto di questa classe "riempito" all' applicazione B che contiene la stessa classe CData , come funziona a quasto punto ? devo deserializzare dall' area di memoria condivisa?
    Grazie.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    151
    ad es ho la stessa classe Cdata in tutte e due le applicazioni che contine il mio formato raw per gli shader che lo renderizzano ecc..., e voglio passare un oggetto di questa classe "riempito" all' applicazione B che contiene la stessa classe CData , come funziona a quasto punto ? devo deserializzare dall' area di memoria condivisa?
    Se l'area di memoria è condivisa, la seconda applicazione dovrebbe accedervi e basta per utilizzare l'oggetto.
    Non ho mai usato la tecnica di condivisione di memoria tra processi, so solo che esiste questa possibilità.

    La serializzazione/deserializzazione riguarda l'invio di oggetti su socket.
    Un buon punto di partenza secondo me è questo:

    http://www.parashift.com/c++-faq-lit....html#faq-36.6

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    scusate , ma esistono funzioni gia ' fatte in stl per serializzare i container come il vector o map?
    O bisogna farsele a "manina"?
    grazie.

  6. #6
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    bisogna farsele a "manina"
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.