Hi, I'm having some problems using root to send objects over a network. I have made a TOject called ConfigRC and I am sending it a la the users guide, the code for the client and server are below. The class ConfigRC has a member function GetIP which when called returns the value of a privite member of the class( string IP). There are no complaints when I compile or run. However when I recieve the object and "GetIP" I find that in the newly created object the privite variables (in this case "strinf IP;") are not set. The default constructor of ConfigRC is just void. So my question is, how do I send an object contents so I can then use the oject again on another machine? Any help is much appreciated. Thanks Caius Howcroft SERVER: char* FileName="config.dat"; ConfigRC *FromFile = new ConfigRC( FileName ); while (1) { TServerSocket *ss = new TServerSocket(9090, kTRUE); TSocket *sock = ss->Accept(); cout << "SERVER:The Socket was accepted" << endl; TMessage message(kMESS_OBJECT); message.WriteObject(FromFile); sock->Send( message );; ss->Close(); } CLIENT: TSocket *sock = new TSocket("localhost", 9090); string IPname = "IP_BRP3"; string IPadd; while (1) { TMessage *message; sock->Recv(message); ConfigRC *FromFile = (ConfigRC*)message->ReadObject(message->GetClass()); delete message; IPadd = FromFile->GetIP( IPname ); } sock->Close(); ______________________ CAIUS HOWCROFT 01223 711 788 UK 07977 473 937 UK(mobile)
This archive was generated by hypermail 2b29 : Fri Jun 08 2001 - 11:50:57 MEST