Server program which waits for two clients to connect.
It then monitors the sockets and displays the objects it receives. To see how to make a non-blocking server see the script hserv2.C.
To run this demo do the following:
- Open three windows
- Start ROOT in all three windows
- Execute in the first window: .x hserv.C
- Execute in the second and third windows: .x hclient.C
int val;
printf(
"sendbuffer size: %d\n", val);
printf(
"recvbuffer size: %d\n", val);
adr =
s1->GetInetAddress();
TPad *
pad1 =
new TPad(
"pad1",
"This is pad1",0.02,0.52,0.98,0.98,21);
TPad *
pad2 =
new TPad(
"pad2",
"This is pad2",0.02,0.02,0.98,0.48,21);
while (1) {
char str[64];
mess->ReadString(str, 64);
printf(
"Client %d: %s\n", s==
s0 ? 0 : 1, str);
if (
mon->GetActive() == 0) {
printf(
"No more active clients... stopping\n");
break;
}
else
}
} else {
printf(
"*** Unexpected message ***\n");
}
}
printf(
"Client 0: bytes recv = %d, bytes sent = %d\n",
s0->GetBytesRecv(),
printf(
"Client 1: bytes recv = %d, bytes sent = %d\n",
s1->GetBytesRecv(),
}
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
TH1 is the base class of all histogram classes in ROOT.
This class represents an Internet Protocol (IP) address.
The most important graphics class in the ROOT system.
This class implements server sockets.
This class implements client sockets.
virtual Int_t Recv(TMessage *&mess)
Receive a TMessage object.
- Author
- Fons Rademakers
Definition in file hserv.C.