Changeset 3763 in Sophya for trunk/AddOn/TAcq/swrapsock.cc


Ignore:
Timestamp:
May 2, 2010, 12:13:24 PM (15 years ago)
Author:
ansari
Message:

Debug Ajout methodes Socket::SendAll(),ReceiveAll() , Reza 01/05/2010

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/AddOn/TAcq/swrapsock.cc

    r3757 r3763  
    9595  }
    9696  else return 0;
     97}
     98
     99/* --Methode-- */
     100size_t Socket::SendAll(const char * buff, size_t len)
     101{
     102  size_t  nst = 0;
     103  int ntry = 0;
     104  while (nst < len) {
     105    size_t ns = Send(buff+nst, len-nst);
     106    ntry++;
     107    if (ns < 1)  break;
     108    nst += ns;
     109  }
     110  if (nst < len) {
     111    cout << "  Socket::SendAll() / ERROR ! ntry=" << ntry
     112         << " nst=" << nst << " len=" << len << endl;
     113    throw SocketException("Socket::SendAll()  Error NBytesSent < len ");
     114  }
     115  return nst;
     116}
     117
     118/* --Methode-- */
     119size_t Socket::ReceiveAll(char * buff, size_t len)
     120{
     121  size_t  nrt = 0;
     122  int ntry = 0;
     123  while (nrt < len) {
     124    size_t nr = Receive(buff+nrt, len-nrt);
     125    ntry++;
     126    if (nr < 1)  break;
     127    nrt += nr;
     128  }
     129  if (nrt < len) {
     130    cout << "  Socket::ReceiveAll / ERROR ! ntry=" << ntry
     131         << " nrt=" << nrt << " len=" << len << endl;
     132    throw SocketException("Socket::ReceiveAll()  Error NBytesRecv < len ");
     133  }
     134  return nrt;
    97135}
    98136
Note: See TracChangeset for help on using the changeset viewer.