1 #ifndef _TCPListenServer_h_
2 #define _TCPListenServer_h_
4 #include "otsdaq/NetworkUtilities/TCPReceiverSocket.h"
5 #include "otsdaq/NetworkUtilities/TCPServerBase.h"
7 #include "TRACE/trace.h"
14 TCPListenServer(
unsigned int serverPort,
unsigned int maxNumberOfClients = -1);
19 std::string receivePacket();
22 void acceptConnections()
override;
26 inline T TCPListenServer::receive()
28 if(!fConnectedClients.empty())
30 auto it = fConnectedClients.find(lastReceived);
31 if(it == fConnectedClients.end() || ++it == fConnectedClients.end())
32 it = fConnectedClients.begin();
33 lastReceived = it->first;
34 TLOG(25,
"TCPListenServer")
35 <<
"Reading from socket " << lastReceived <<
", there are "
36 << fConnectedClients.size() <<
" clients connected.";
39 throw std::runtime_error(
"No clients connected!");