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 : Tue Jan 01 2002 - 17:50:34 MET