00001 void pserv()
00002 {
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 TPServerSocket *ss = new TPServerSocket(9090, kTRUE);
00016
00017
00018 TPSocket *sock = ss->Accept();
00019 delete ss;
00020
00021 int niter, bsize;
00022 sock->Recv(niter, bsize);
00023
00024 printf("Receive %d buffers of %d bytes over %d parallel sockets...\n",
00025 niter, bsize, sock->GetSize());
00026
00027 char *buf = new char[bsize];
00028
00029
00030 TStopwatch timer;
00031 timer.Start();
00032
00033
00034 for (int i = 0; i < niter; i++) {
00035 memset(buf, 0, bsize);
00036 int ret = sock->RecvRaw(buf, bsize);
00037 if (ret < 0) {
00038 printf("error receiving\n");
00039 break;
00040 }
00041 if (buf[0] != 65) {
00042 printf("received data corrupted\n");
00043 break;
00044 }
00045 }
00046
00047 delete sock;
00048 delete [] buf;
00049
00050
00051 timer.Stop();
00052 Double_t rtime = timer.RealTime();
00053 Double_t ctime = timer.CpuTime();
00054
00055 printf("%d bytes received in %f seconds\n", niter*bsize, rtime);
00056 if (rtime > 0) printf("%5.2f MB/s\n", Double_t(niter*bsize/1024/1024)/rtime);
00057 }