bullet3/test/clsocket/EchoServer.cpp
erwincoumans ab8f16961e Code-style consistency improvement:
Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files.
make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type.
This commit contains no other changes aside from adding and applying clang-format-all.sh
2018-09-23 14:17:31 -07:00

68 lines
1.9 KiB
C++

#include "PassiveSocket.h" // Include header for active socket object definition
#define MAX_PACKET 4096
int main(int argc, char **argv)
{
CPassiveSocket socket;
CActiveSocket *pClient = NULL;
//--------------------------------------------------------------------------
// Initialize our socket object
//--------------------------------------------------------------------------
socket.Initialize();
socket.Listen("localhost", 6667);
while (true)
{
if ((pClient = socket.Accept()) != NULL)
{
int clientPort = socket.GetClientPort();
printf("connected from %s:%d\n", socket.GetClientAddr(), clientPort);
//----------------------------------------------------------------------
// Receive request from the client.
//----------------------------------------------------------------------
while (1)
{
//printf("try receive\n");
bool receivedData = false;
int recBytes = 0;
recBytes = pClient->Receive(MAX_PACKET);
if (recBytes)
{
char *msg = (char *)pClient->GetData();
msg[recBytes] = 0;
printf("received message [%s]\n", msg);
//------------------------------------------------------------------
// Send response to client and close connection to the client.
//------------------------------------------------------------------
pClient->Send(pClient->GetData(), pClient->GetBytesReceived());
receivedData = true;
if (strncmp(msg, "stop", 4) == 0)
{
printf("Stop request received\n");
break;
}
}
if (!receivedData)
{
printf("Didn't receive data.\n");
break;
}
}
printf("Disconnecting client.\n");
pClient->Close();
delete pClient;
}
}
//-----------------------------------------------------------------------------
// Receive request from the client.
//-----------------------------------------------------------------------------
socket.Close();
return 1;
}