Hello rooters and unixoids, In my DAQ application I am following Rene suggestions to get use of TFileHandler to handle TSocket activity : class TSocketHandler: public TFileHandler { private: TSocket *Socket; public: TSocketHandler(TSocket *s); Bool_t Notify(); Bool_t ReadNotify() {return Notify();} TSocket *GetSocket() {return Socket;} }; TSocketHandler::TSocketHandler(TSocket *s) :TFileHandler(s->GetDescriptor(),1) { Socket=s; gSystem->AddFileHandler(this); } Bool_t TSocketHandler::Notify() { int data; Socket->RecvRaw(&data,sizeof(data)); printf("received : %d\n",data); return kTRUE; } Now we know from the roottalk that TSocket.RecvRaw() returns 0 if server-client pipe is broken. That's the way to handle dropped connections or other bad things. But could you tell me why TSocketHandler calls Notify() (ReadNotify()) infinitely when I am dropping the connection on the server side? Yours, Dr. Anton Fokin Division of Cosmic and Subatomic Physics Lund University Sweden
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:30 MET