|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 1999
Città: Milano
Messaggi: 531
|
[c++] linux -> socket -> scambio di oggetti
Ciao ragazzi,
qualcuno di voi conosce qualche sistema per inviare oggetti c++ via socket? Io ho a disposizione una classe socket che mi consente di inviare stringhe e quindi si preoccupa di tutta la gestione del loro invio. La mia idea è quindi quella di convertire in stringa il mio oggetto....è la strada giusta o si può fare di meglio?
__________________
Vintage signature: Abit nf7-s, Xp 2500+@2300mhz, 256 mb 418mhz cas2, geforce fx5700,S-ATA 160 Maxtor,Lg gsa 4120b...prima..ma ora..DELL INSPIRON 6400, ATI X1300... |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
cobra; rmi... ce ne sono tante di tecnologie che potrebbero fare al caso tuo; ma queste sono le più "diffuse"
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
"corba", non "cobra"
ho voluto precisare perché altrimenti Ricky cercando sul web non avrebbe trovato niente. aggiungo anche che RMI é una tecnologia Java (non puó essere usata in C++), peró lo consiglio rispetto a CORBA perché secondo me é piu facile da usare. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
errore mio di battitura; grazie di averlo fatto notare
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
alla fine l'invio su socket è una semplice write di dati binari, quindi puoi scrivere sul socket il tuo oggetto indicando il puntatore all'oggetto e la sua dimensione (sizeof)
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
Quote:
inutile reinventare la ruota: vai di CORBA e vivi felice (ma possibilmente usa Java e RMI che sono molto piu facili). inoltre i socket sono piu difficili da usare perché l'interfaccia BSD é troppo di basso livello, permette di gestire troppi aspetti di cui nel 99% dei casi non interessa nulla; per esempio, per fare una banale send é necessario un loop con un algoritmo molto error-prone perché una sola chiamata potrebbe aver inviato meno dati di quanti sono presenti nel buffer. i socket Java sono giá molto piu facili da usare ma a quel punto c'é RMI. |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Oct 1999
Città: Milano
Messaggi: 531
|
grazie per gli interventi siete stati tutti molto gentili come al solito.
Conosco Corba ma volevo evitare di utilizzare questa soluzione. Pensavo che esistesse un modo per serializzare il mio oggetto in maniera più o meno automatica e quindi passarlo via socket e deserializzarlo(si può dire?!? Ammesso infatti che io abbia un sistema, funzione, metodo che mi garantisce in maniera abbastanza "safe" l'invio di stringhe via socket, pensavo di parsare la mia classe in un formato tipo xml->stringa e di ricrearmi la classe dall'altra parte... come vi sembra come soluzione?
__________________
Vintage signature: Abit nf7-s, Xp 2500+@2300mhz, 256 mb 418mhz cas2, geforce fx5700,S-ATA 160 Maxtor,Lg gsa 4120b...prima..ma ora..DELL INSPIRON 6400, ATI X1300... |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Imho potresti serializzare in XML tramite boost: http://www.boost.org/doc/libs/1_38_0...doc/index.html
http://www.boost.org/doc/libs/1_38_0.../tutorial.html Ultima modifica di cionci : 08-03-2009 alle 12:54. |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Oct 1999
Città: Milano
Messaggi: 531
|
grande cionci
appena risolvo il problema posto la mia soluzione. Per ora però posticipo un pò la cosa visto che non è proprio così banale!
__________________
Vintage signature: Abit nf7-s, Xp 2500+@2300mhz, 256 mb 418mhz cas2, geforce fx5700,S-ATA 160 Maxtor,Lg gsa 4120b...prima..ma ora..DELL INSPIRON 6400, ATI X1300... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:56.












ho concluso con: kvegeta, doctordb, Leland Gaunt.








