mirror of
https://github.com/bulletphysics/bullet3
synced 2024-12-14 05:40:05 +00:00
66 lines
1.9 KiB
C++
66 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;
|
|
|
|
if (pClient->Receive(MAX_PACKET))
|
|
{
|
|
char* msg = (char*) pClient->GetData();
|
|
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;
|
|
}
|