mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-12 07:04:36 +00:00
* Adjustment: Update Bullet version to 3.24.
This commit is contained in:
parent
35de012ee7
commit
4a3f31df2a
6148 changed files with 2112532 additions and 56873 deletions
67
Engine/lib/bullet/test/clsocket/EchoServer.cpp
Normal file
67
Engine/lib/bullet/test/clsocket/EchoServer.cpp
Normal 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;
|
||||
}
|
||||
57
Engine/lib/bullet/test/clsocket/QueryDayTime.cpp
Normal file
57
Engine/lib/bullet/test/clsocket/QueryDayTime.cpp
Normal 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;
|
||||
}
|
||||
100
Engine/lib/bullet/test/clsocket/RecvAsync.cpp
Normal file
100
Engine/lib/bullet/test/clsocket/RecvAsync.cpp
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
56
Engine/lib/bullet/test/clsocket/premake4.lua
Normal file
56
Engine/lib/bullet/test/clsocket/premake4.lua
Normal 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",
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue