Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
437d66f9bThis file is pinned to the selected release. Download the original to open it in your design tool.
#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;
}