* Adjustment: Update Bullet version to 3.24.

This commit is contained in:
Robert MacGregor 2022-06-27 10:01:08 -04:00
parent 35de012ee7
commit 4a3f31df2a
6148 changed files with 2112532 additions and 56873 deletions

View file

@ -0,0 +1,67 @@
#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;
}

View file

@ -0,0 +1,57 @@
#include <string.h>
#include "ActiveSocket.h" // Include header for active socket object definition
int main(int argc, char **argv)
{
CActiveSocket socket; // Instantiate active socket object (defaults to TCP).
char time[50];
memset(&time, 0, 50);
//--------------------------------------------------------------------------
// Initialize our socket object
//--------------------------------------------------------------------------
socket.Initialize();
//--------------------------------------------------------------------------
// Create a connection to the time server so that data can be sent
// and received.
//--------------------------------------------------------------------------
// if (socket.Open("time-C.timefreq.bldrdoc.gov", 13))
if (socket.Open("192.168.86.196", 6667))
{
for (int i = 0; i < 100; i++)
{
//----------------------------------------------------------------------
// Send a requtest the server requesting the current time.
//----------------------------------------------------------------------
char data[1024];
sprintf(data, "%s %d", "Hello", i);
int len = strlen(data);
data[len] = 0;
printf("Sending [%s]\n", data);
len++;
if (socket.Send((const uint8 *)data, len))
{
//----------------------------------------------------------------------
// Receive response from the server.
//----------------------------------------------------------------------
int rec = socket.Receive(len);
if (rec)
{
uint8 *data = socket.GetData();
memcpy(&time, data, len);
printf("Received: [%s]\n", time);
}
}
}
//----------------------------------------------------------------------
// Close the connection.
//----------------------------------------------------------------------
socket.Close();
}
return 1;
}

View file

@ -0,0 +1,100 @@
#include <pthread.h>
#include "PassiveSocket.h"
#ifdef WIN32
#include <windows.h>
// usually defined with #include <unistd.h>
static void sleep(unsigned int seconds)
{
Sleep(seconds * 1000);
}
#endif
#define MAX_PACKET 4096
#define TEST_PACKET "Test Packet"
struct thread_data
{
const char *pszServerAddr;
short int nPort;
int nNumBytesToReceive;
int nTotalPayloadSize;
};
void *CreateTCPEchoServer(void *param)
{
CPassiveSocket socket;
CActiveSocket *pClient = NULL;
struct thread_data *pData = (struct thread_data *)param;
int nBytesReceived = 0;
socket.Initialize();
socket.Listen(pData->pszServerAddr, pData->nPort);
if ((pClient = socket.Accept()) != NULL)
{
while (nBytesReceived != pData->nTotalPayloadSize)
{
if (nBytesReceived += pClient->Receive(pData->nNumBytesToReceive))
{
pClient->Send((const uint8 *)pClient->GetData(), pClient->GetBytesReceived());
}
}
sleep(100);
delete pClient;
}
socket.Close();
return NULL;
}
int main(int argc, char **argv)
{
pthread_t threadId;
struct thread_data thData;
CActiveSocket client;
char result[1024];
thData.pszServerAddr = "127.0.0.1";
thData.nPort = 6789;
thData.nNumBytesToReceive = 1;
thData.nTotalPayloadSize = (int)strlen(TEST_PACKET);
pthread_create(&threadId, 0, CreateTCPEchoServer, &thData);
sleep(1); // allow a second for the thread to create and listen
client.Initialize();
client.SetNonblocking();
if (client.Open("127.0.0.1", 6789))
{
if (client.Send((uint8 *)TEST_PACKET, strlen(TEST_PACKET)))
{
int numBytes = -1;
int bytesReceived = 0;
client.Select();
while (bytesReceived != strlen(TEST_PACKET))
{
numBytes = client.Receive(MAX_PACKET);
if (numBytes > 0)
{
bytesReceived += numBytes;
memset(result, 0, 1024);
memcpy(result, client.GetData(), numBytes);
printf("received %d bytes: '%s'\n", numBytes, result);
}
else
{
printf("Received %d bytes\n", numBytes);
}
}
}
}
}

View file

@ -0,0 +1,56 @@
project ("Test_clsocket_EchoServer")
language "C++"
kind "ConsoleApp"
includedirs {"../../examples/ThirdPartyLibs/clsocket/src"}
if os.is("Windows") then
defines { "WIN32" }
links {"Ws2_32","Winmm"}
end
if os.is("Linux") then
defines {"_LINUX"}
end
if os.is("MacOSX") then
defines {"_DARWIN"}
end
links {"clsocket"}
files {
"EchoServer.cpp",
}
project ("Test_clsocket_QueryDayTime")
language "C++"
kind "ConsoleApp"
includedirs {"../../examples/ThirdPartyLibs/clsocket/src"}
if os.is("Windows") then
defines { "WIN32" }
links {"Ws2_32","Winmm"}
end
if os.is("Linux") then
defines {"_LINUX"}
end
if os.is("MacOSX") then
defines {"_DARWIN"}
end
links {"clsocket"}
files {
"QueryDayTime.cpp",
}