beginning drafting of tcp server
This commit is contained in:
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -4,3 +4,6 @@
|
|||||||
[submodule "ext/glm"]
|
[submodule "ext/glm"]
|
||||||
path = ext/glm
|
path = ext/glm
|
||||||
url = https://github.com/g-truc/glm.git
|
url = https://github.com/g-truc/glm.git
|
||||||
|
[submodule "ext/pthreads4w-code"]
|
||||||
|
path = ext/pthreads4w-code
|
||||||
|
url = https://git.code.sf.net/p/pthreads4w/code
|
||||||
|
|||||||
@@ -71,8 +71,8 @@
|
|||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<LibraryPath>$(SolutionDir)ext\glfw\build\src\Debug;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64)</LibraryPath>
|
<LibraryPath>$(SolutionDir)ext\pthreads4w-code\build\Debug;$(SolutionDir)ext\glfw\build\src\Debug;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64)</LibraryPath>
|
||||||
<IncludePath>$(SolutionDir)ext\glm;$(SolutionDir)ext\glfw\include;$(SolutionDir)inc;$(IncludePath)</IncludePath>
|
<IncludePath>$(SolutionDir)ext\pthreads4w-code;$(SolutionDir)ext\glm;$(SolutionDir)ext\glfw\include;$(SolutionDir)inc;$(IncludePath)</IncludePath>
|
||||||
<OutDir>$(SolutionDir)bin\$(Platform)\$(Configuration)\</OutDir>
|
<OutDir>$(SolutionDir)bin\$(Platform)\$(Configuration)\</OutDir>
|
||||||
<IntDir>$(SolutionDir)obj\$(Platform)\$(Configuration)\</IntDir>
|
<IntDir>$(SolutionDir)obj\$(Platform)\$(Configuration)\</IntDir>
|
||||||
<SourcePath>$(SolutionDir)src;$(SourcePath)</SourcePath>
|
<SourcePath>$(SolutionDir)src;$(SourcePath)</SourcePath>
|
||||||
@@ -116,7 +116,7 @@
|
|||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>glfw3.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>pthreadVC3d.lib;glfw3.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
@@ -140,6 +140,7 @@
|
|||||||
<ClCompile Include="src\glad.c" />
|
<ClCompile Include="src\glad.c" />
|
||||||
<ClCompile Include="src\main.cpp" />
|
<ClCompile Include="src\main.cpp" />
|
||||||
<ClCompile Include="src\shaders.cpp" />
|
<ClCompile Include="src\shaders.cpp" />
|
||||||
|
<ClCompile Include="src\tcp_server.cpp" />
|
||||||
<ClCompile Include="src\util.cpp" />
|
<ClCompile Include="src\util.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
|||||||
@@ -1,31 +1,37 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"directory": "C:/Users/seth/Documents/repos/LivePlotter/",
|
"directory": "C:/Users/sethh/Documents/repos/LivePlotter/",
|
||||||
"command": "\"C:/Users/seth/AppData/Roaming/ClangPowerTools/LLVM_Lite/Bin/clang++.exe\" -x c++ \"C:/Users/seth/Documents/repos/LivePlotter/src/main.cpp\" -std=c++20 -Wall -fms-compatibility-version=19.10 -Wmicrosoft -Wno-invalid-token-paste -Wno-unknown-pragmas -Wno-unused-value -fsyntax-only \"-DUNICODE\" \"-D_UNICODE\" \"-D_MT\" \"-D_DLL\" \"-D_DEBUG\" \"-D_CONSOLE\" \"-D_DEBUG_FUNCTIONAL_MACHINERY\" -isystem\"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/include\" -isystem\"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/atlmfc/include\" -isystem\"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Auxiliary/VS/include\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/ucrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/um\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/shared\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/winrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/cppwinrt\" -isystem\"C:/Users/seth/Documents/repos/LivePlotter/ext/glm\" -isystem\"C:/Users/seth/Documents/repos/LivePlotter/ext/glfw/include\" -isystem\"C:/Users/seth/Documents/repos/LivePlotter/inc\"",
|
"command": "\"C:/Users/sethh/AppData/Roaming/ClangPowerTools/LLVM_Lite/Bin/clang++.exe\" -x c++ \"C:/Users/sethh/Documents/repos/LivePlotter/src/shaders.cpp\" -std=c++20 -Wall -fms-compatibility-version=19.10 -Wmicrosoft -Wno-invalid-token-paste -Wno-unknown-pragmas -Wno-unused-value -fsyntax-only \"-DUNICODE\" \"-D_UNICODE\" \"-D_MT\" \"-D_DLL\" \"-D_DEBUG\" \"-D_CONSOLE\" \"-D_DEBUG_FUNCTIONAL_MACHINERY\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/include\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/atlmfc/include\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/VS/include\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/ucrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/um\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/shared\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/winrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/cppwinrt\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/pthreads4w-code\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/glm\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/glfw/include\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/inc\"",
|
||||||
"file": "C:/Users/seth/Documents/repos/LivePlotter/src/main.cpp"
|
"file": "C:/Users/sethh/Documents/repos/LivePlotter/src/shaders.cpp"
|
||||||
}
|
}
|
||||||
,
|
,
|
||||||
{
|
{
|
||||||
"directory": "C:/Users/seth/Documents/repos/LivePlotter/",
|
"directory": "C:/Users/sethh/Documents/repos/LivePlotter/",
|
||||||
"command": "\"C:/Users/seth/AppData/Roaming/ClangPowerTools/LLVM_Lite/Bin/clang++.exe\" -x c++ \"C:/Users/seth/Documents/repos/LivePlotter/src/shaders.cpp\" -std=c++20 -Wall -fms-compatibility-version=19.10 -Wmicrosoft -Wno-invalid-token-paste -Wno-unknown-pragmas -Wno-unused-value -fsyntax-only \"-DUNICODE\" \"-D_UNICODE\" \"-D_MT\" \"-D_DLL\" \"-D_DEBUG\" \"-D_CONSOLE\" \"-D_DEBUG_FUNCTIONAL_MACHINERY\" -isystem\"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/include\" -isystem\"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/atlmfc/include\" -isystem\"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Auxiliary/VS/include\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/ucrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/um\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/shared\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/winrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/cppwinrt\" -isystem\"C:/Users/seth/Documents/repos/LivePlotter/ext/glm\" -isystem\"C:/Users/seth/Documents/repos/LivePlotter/ext/glfw/include\" -isystem\"C:/Users/seth/Documents/repos/LivePlotter/inc\"",
|
"command": "\"C:/Users/sethh/AppData/Roaming/ClangPowerTools/LLVM_Lite/Bin/clang++.exe\" -x c++ \"C:/Users/sethh/Documents/repos/LivePlotter/src/main.cpp\" -std=c++20 -Wall -fms-compatibility-version=19.10 -Wmicrosoft -Wno-invalid-token-paste -Wno-unknown-pragmas -Wno-unused-value -fsyntax-only \"-DUNICODE\" \"-D_UNICODE\" \"-D_MT\" \"-D_DLL\" \"-D_DEBUG\" \"-D_CONSOLE\" \"-D_DEBUG_FUNCTIONAL_MACHINERY\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/include\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/atlmfc/include\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/VS/include\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/ucrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/um\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/shared\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/winrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/cppwinrt\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/pthreads4w-code\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/glm\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/glfw/include\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/inc\"",
|
||||||
"file": "C:/Users/seth/Documents/repos/LivePlotter/src/shaders.cpp"
|
"file": "C:/Users/sethh/Documents/repos/LivePlotter/src/main.cpp"
|
||||||
}
|
}
|
||||||
,
|
,
|
||||||
{
|
{
|
||||||
"directory": "C:/Users/seth/Documents/repos/LivePlotter/",
|
"directory": "C:/Users/sethh/Documents/repos/LivePlotter/",
|
||||||
"command": "\"C:/Users/seth/AppData/Roaming/ClangPowerTools/LLVM_Lite/Bin/clang++.exe\" -x c \"C:/Users/seth/Documents/repos/LivePlotter/src/glad.c\" -Wall -fms-compatibility-version=19.10 -Wmicrosoft -Wno-invalid-token-paste -Wno-unknown-pragmas -Wno-unused-value -fsyntax-only \"-DUNICODE\" \"-D_UNICODE\" \"-D_MT\" \"-D_DLL\" \"-D_DEBUG\" \"-D_CONSOLE\" \"-D_DEBUG_FUNCTIONAL_MACHINERY\" -isystem\"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/include\" -isystem\"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/atlmfc/include\" -isystem\"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Auxiliary/VS/include\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/ucrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/um\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/shared\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/winrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/cppwinrt\" -isystem\"C:/Users/seth/Documents/repos/LivePlotter/ext/glm\" -isystem\"C:/Users/seth/Documents/repos/LivePlotter/ext/glfw/include\" -isystem\"C:/Users/seth/Documents/repos/LivePlotter/inc\"",
|
"command": "\"C:/Users/sethh/AppData/Roaming/ClangPowerTools/LLVM_Lite/Bin/clang++.exe\" -x c++ \"C:/Users/sethh/Documents/repos/LivePlotter/src/util.cpp\" -std=c++20 -Wall -fms-compatibility-version=19.10 -Wmicrosoft -Wno-invalid-token-paste -Wno-unknown-pragmas -Wno-unused-value -fsyntax-only \"-DUNICODE\" \"-D_UNICODE\" \"-D_MT\" \"-D_DLL\" \"-D_DEBUG\" \"-D_CONSOLE\" \"-D_DEBUG_FUNCTIONAL_MACHINERY\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/include\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/atlmfc/include\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/VS/include\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/ucrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/um\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/shared\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/winrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/cppwinrt\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/pthreads4w-code\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/glm\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/glfw/include\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/inc\"",
|
||||||
"file": "C:/Users/seth/Documents/repos/LivePlotter/src/glad.c"
|
"file": "C:/Users/sethh/Documents/repos/LivePlotter/src/util.cpp"
|
||||||
}
|
}
|
||||||
,
|
,
|
||||||
{
|
{
|
||||||
"directory": "C:/Users/seth/Documents/repos/LivePlotter/",
|
"directory": "C:/Users/sethh/Documents/repos/LivePlotter/",
|
||||||
"command": "\"C:/Users/seth/AppData/Roaming/ClangPowerTools/LLVM_Lite/Bin/clang++.exe\" -x c++ \"C:/Users/seth/Documents/repos/LivePlotter/src/util.cpp\" -std=c++20 -Wall -fms-compatibility-version=19.10 -Wmicrosoft -Wno-invalid-token-paste -Wno-unknown-pragmas -Wno-unused-value -fsyntax-only \"-DUNICODE\" \"-D_UNICODE\" \"-D_MT\" \"-D_DLL\" \"-D_DEBUG\" \"-D_CONSOLE\" \"-D_DEBUG_FUNCTIONAL_MACHINERY\" -isystem\"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/include\" -isystem\"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/atlmfc/include\" -isystem\"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Auxiliary/VS/include\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/ucrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/um\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/shared\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/winrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/cppwinrt\" -isystem\"C:/Users/seth/Documents/repos/LivePlotter/ext/glm\" -isystem\"C:/Users/seth/Documents/repos/LivePlotter/ext/glfw/include\" -isystem\"C:/Users/seth/Documents/repos/LivePlotter/inc\"",
|
"command": "\"C:/Users/sethh/AppData/Roaming/ClangPowerTools/LLVM_Lite/Bin/clang++.exe\" -x c++ \"C:/Users/sethh/Documents/repos/LivePlotter/src/tcp_server.cpp\" -std=c++20 -Wall -fms-compatibility-version=19.10 -Wmicrosoft -Wno-invalid-token-paste -Wno-unknown-pragmas -Wno-unused-value -fsyntax-only \"-DUNICODE\" \"-D_UNICODE\" \"-D_MT\" \"-D_DLL\" \"-D_DEBUG\" \"-D_CONSOLE\" \"-D_DEBUG_FUNCTIONAL_MACHINERY\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/include\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/atlmfc/include\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/VS/include\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/ucrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/um\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/shared\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/winrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/cppwinrt\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/pthreads4w-code\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/glm\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/glfw/include\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/inc\"",
|
||||||
"file": "C:/Users/seth/Documents/repos/LivePlotter/src/util.cpp"
|
"file": "C:/Users/sethh/Documents/repos/LivePlotter/src/tcp_server.cpp"
|
||||||
}
|
}
|
||||||
,
|
,
|
||||||
{
|
{
|
||||||
"directory": "C:/Users/seth/Documents/repos/LivePlotter/",
|
"directory": "C:/Users/sethh/Documents/repos/LivePlotter/",
|
||||||
"command": "\"C:/Users/seth/AppData/Roaming/ClangPowerTools/LLVM_Lite/Bin/clang++.exe\" -x c++ \"C:/Users/seth/Documents/repos/LivePlotter/src/body.cpp\" -std=c++20 -Wall -fms-compatibility-version=19.10 -Wmicrosoft -Wno-invalid-token-paste -Wno-unknown-pragmas -Wno-unused-value -fsyntax-only \"-DUNICODE\" \"-D_UNICODE\" \"-D_MT\" \"-D_DLL\" \"-D_DEBUG\" \"-D_CONSOLE\" \"-D_DEBUG_FUNCTIONAL_MACHINERY\" -isystem\"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/include\" -isystem\"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/atlmfc/include\" -isystem\"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Auxiliary/VS/include\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/ucrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/um\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/shared\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/winrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/cppwinrt\" -isystem\"C:/Users/seth/Documents/repos/LivePlotter/ext/glm\" -isystem\"C:/Users/seth/Documents/repos/LivePlotter/ext/glfw/include\" -isystem\"C:/Users/seth/Documents/repos/LivePlotter/inc\"",
|
"command": "\"C:/Users/sethh/AppData/Roaming/ClangPowerTools/LLVM_Lite/Bin/clang++.exe\" -x c \"C:/Users/sethh/Documents/repos/LivePlotter/src/glad.c\" -Wall -fms-compatibility-version=19.10 -Wmicrosoft -Wno-invalid-token-paste -Wno-unknown-pragmas -Wno-unused-value -fsyntax-only \"-DUNICODE\" \"-D_UNICODE\" \"-D_MT\" \"-D_DLL\" \"-D_DEBUG\" \"-D_CONSOLE\" \"-D_DEBUG_FUNCTIONAL_MACHINERY\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/include\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/atlmfc/include\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/VS/include\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/ucrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/um\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/shared\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/winrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/cppwinrt\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/pthreads4w-code\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/glm\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/glfw/include\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/inc\"",
|
||||||
"file": "C:/Users/seth/Documents/repos/LivePlotter/src/body.cpp"
|
"file": "C:/Users/sethh/Documents/repos/LivePlotter/src/glad.c"
|
||||||
|
}
|
||||||
|
,
|
||||||
|
{
|
||||||
|
"directory": "C:/Users/sethh/Documents/repos/LivePlotter/",
|
||||||
|
"command": "\"C:/Users/sethh/AppData/Roaming/ClangPowerTools/LLVM_Lite/Bin/clang++.exe\" -x c++ \"C:/Users/sethh/Documents/repos/LivePlotter/src/body.cpp\" -std=c++20 -Wall -fms-compatibility-version=19.10 -Wmicrosoft -Wno-invalid-token-paste -Wno-unknown-pragmas -Wno-unused-value -fsyntax-only \"-DUNICODE\" \"-D_UNICODE\" \"-D_MT\" \"-D_DLL\" \"-D_DEBUG\" \"-D_CONSOLE\" \"-D_DEBUG_FUNCTIONAL_MACHINERY\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/include\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/atlmfc/include\" -isystem\"C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/VS/include\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/ucrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/um\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/shared\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/winrt\" -isystem\"C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/cppwinrt\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/pthreads4w-code\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/glm\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/ext/glfw/include\" -isystem\"C:/Users/sethh/Documents/repos/LivePlotter/inc\"",
|
||||||
|
"file": "C:/Users/sethh/Documents/repos/LivePlotter/src/body.cpp"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
1
ext/pthreads4w-code
Submodule
1
ext/pthreads4w-code
Submodule
Submodule ext/pthreads4w-code added at 8e467a62a1
25
inc/tcp_server.hpp
Normal file
25
inc/tcp_server.hpp
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <WinSock2.h>
|
||||||
|
#include <pthread.h>
|
||||||
|
#include "util.hpp"
|
||||||
|
|
||||||
|
typedef void (*data_received_cb_t)(SOCKET client, array<char> data);
|
||||||
|
|
||||||
|
struct tcpserver {
|
||||||
|
SOCKET sock;
|
||||||
|
array<SOCKET> client_socks;
|
||||||
|
int max_connections;
|
||||||
|
addrinfo *addr;
|
||||||
|
array<data_received_cb_t> cbs;
|
||||||
|
|
||||||
|
pthread_mutex_t lock;
|
||||||
|
pthread_cond_t connection_ended;
|
||||||
|
pthread_cond_t stop_requested;
|
||||||
|
};
|
||||||
|
|
||||||
|
bool create_server(tcpserver *server_out, const char* hostname, int port);
|
||||||
|
void start_server(tcpserver &s);
|
||||||
|
void stop_server(tcpserver &s);
|
||||||
|
void send_data(tcpserver &s, SOCKET client, array<char> data);
|
||||||
|
void register_recv_cb(tcpserver &s, data_received_cb_t cb);
|
||||||
@@ -1,13 +1,18 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <cstdlib>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
typedef unsigned int uint;
|
||||||
|
|
||||||
template<class T> struct array {
|
template<class T> struct array {
|
||||||
T* data;
|
T* data;
|
||||||
size_t len;
|
size_t len;
|
||||||
|
size_t cap;
|
||||||
inline T& operator[](int i) { return data[i]; }
|
inline T& operator[](int i) { return data[i]; }
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef unsigned int uint;
|
template<class T> void append(array<T>& a, T el);
|
||||||
|
template<class T> T pop(array<T>& a);
|
||||||
|
template<class T> void resize(array<T>& a, size_t new_size);
|
||||||
bool read_file(array<char>* out, const char* filepath);
|
bool read_file(array<char>* out, const char* filepath);
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ void scroll_callback(GLFWwindow* window, double xoffset, double yoffset)
|
|||||||
glm::vec4 k = camera_t[2];
|
glm::vec4 k = camera_t[2];
|
||||||
float d = yoffset;
|
float d = yoffset;
|
||||||
|
|
||||||
camera_loc += k * (d/10 * std::max(glm::length(camera_loc), 1.0f));
|
camera_loc += k * (d/10 * glm::max(glm::length(camera_loc), 1.0f));
|
||||||
|
|
||||||
camera_t = glm::lookAt(camera_loc, focal_point, up);
|
camera_t = glm::lookAt(camera_loc, focal_point, up);
|
||||||
}
|
}
|
||||||
|
|||||||
102
src/tcp_server.cpp
Normal file
102
src/tcp_server.cpp
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
#include <WS2tcpip.h>
|
||||||
|
#include <cstring>
|
||||||
|
#pragma comment(lib, "pthreadVC3d.lib")
|
||||||
|
|
||||||
|
// I hate windows. I hate windows. I hate windows.
|
||||||
|
|
||||||
|
#include <WinSock2.h>
|
||||||
|
#include <ws2tcpip.h>
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <pthread.h>
|
||||||
|
|
||||||
|
#include "tcp_server.hpp"
|
||||||
|
|
||||||
|
static WSADATA wsadata;
|
||||||
|
static bool winsock_initialized = false; // First tcp server created will initialize this
|
||||||
|
static int init_result;
|
||||||
|
|
||||||
|
void _server_loop(void* args);
|
||||||
|
void _conn_loop(void* args);
|
||||||
|
void _start_conn_loop(SOCKET client_s);
|
||||||
|
|
||||||
|
bool create_server(tcpserver* server_out, const char* hostname, int port, int max_connections = 1) {
|
||||||
|
if (!winsock_initialized && (init_result = WSAStartup(MAKEWORD(2, 2), &wsadata)) != 0) {
|
||||||
|
printf("WSAStartup failed: %d\n", init_result);
|
||||||
|
winsock_initialized = true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ********** Addr Info Creation **********
|
||||||
|
addrinfo *result, *ptr, hints;
|
||||||
|
char port_str[16];
|
||||||
|
_itoa_s(port, port_str, 10);
|
||||||
|
// TODO: Ensure hostname is null-terminated
|
||||||
|
int status = getaddrinfo(hostname, port_str, &hints, result);
|
||||||
|
if (status != 0) {
|
||||||
|
printf("Error at getaddrinfo(): %d\n", status);
|
||||||
|
goto fail_cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
// *********** Socket Creation ************
|
||||||
|
SOCKET sock = socket(result->ai_family, result->ai_socktype, result->ai_protocol);
|
||||||
|
if (sock == INVALID_SOCKET) {
|
||||||
|
printf("Error at socket(): %d\n", WSAGetLastError());
|
||||||
|
freeaddrinfo(result);
|
||||||
|
goto fail_cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
// *********** Socket Binding ************
|
||||||
|
status = bind(sock, result->ai_addr, (int)result->ai_addrlen);
|
||||||
|
if (status == SOCKET_ERROR) {
|
||||||
|
printf("Error at bind(): %d\n", WSAGetLastError());
|
||||||
|
freeaddrinfo(result);
|
||||||
|
goto fail_cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
|
||||||
|
fail_cleanup:
|
||||||
|
WSACleanup();
|
||||||
|
winsock_initialized = false;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void start_server(tcpserver& s) { }
|
||||||
|
void stop_server(tcpserver& s) { }
|
||||||
|
void send_data(tcpserver& s, SOCKET client, array<char> data) { }
|
||||||
|
void register_cb(tcpserver& s, data_received_cb_t cb) { append(s.cbs, cb); }
|
||||||
|
|
||||||
|
void _server_loop(void* args) {
|
||||||
|
tcpserver* s = static_cast<tcpserver*>(args);
|
||||||
|
|
||||||
|
int num_connections = 0;
|
||||||
|
int slots[s->max_connections];
|
||||||
|
array<int> open_slots
|
||||||
|
= { .data = slots, .len = (size_t)s->max_connections, .cap = (size_t)s->max_connections };
|
||||||
|
for (int i = 0; i < open_slots.len; i++) {
|
||||||
|
open_slots[i] = open_slots.len - (i + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
SOCKET clients[s->max_connections];
|
||||||
|
memset(clients, INVALID_SOCKET, sizeof(SOCKET));
|
||||||
|
while (true) {
|
||||||
|
while (num_connections < s->max_connections) {
|
||||||
|
int slot = pop(open_slots);
|
||||||
|
clients[slot] = accept(s->sock, NULL, NULL);
|
||||||
|
// TODO: More robust handling of bad client sockets
|
||||||
|
if (clients[slot] == INVALID_SOCKET) {
|
||||||
|
printf("Error at accept(): %d\n", WSAGetLastError());
|
||||||
|
stop_server(*s);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
_start_conn_loop(clients[slot]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void _start_conn_loop(SOCKET client_s) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void _conn_loop(void* args) { }
|
||||||
26
src/util.cpp
26
src/util.cpp
@@ -1,9 +1,33 @@
|
|||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
#include <cstring>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "util.hpp"
|
#include "util.hpp"
|
||||||
|
|
||||||
|
template<class T> void append(array<T>& a, T el) {
|
||||||
|
if (a.len == a.cap) {
|
||||||
|
resize(a, a.cap*2);
|
||||||
|
}
|
||||||
|
a[a.len] = el;
|
||||||
|
a.len++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class T> T pop(array<T>& a) {
|
||||||
|
assert(a.len >= 1);
|
||||||
|
a.len--;
|
||||||
|
return a.data[a.len+1];
|
||||||
|
}
|
||||||
|
|
||||||
|
template<class T> void resize(array<T> &a, size_t new_cap) {
|
||||||
|
T* new_data = (T*)malloc(new_cap);
|
||||||
|
memcpy(new_data, a.data, min(a.len, new_cap));
|
||||||
|
free(a.data);
|
||||||
|
a.len = min(a.len, new_cap);
|
||||||
|
a.cap = new_cap;
|
||||||
|
}
|
||||||
|
|
||||||
bool read_file(array<char>* out, const char* filepath) {
|
bool read_file(array<char>* out, const char* filepath) {
|
||||||
FILE* fp = NULL;
|
FILE* fp = NULL;
|
||||||
if (fopen_s(&fp, filepath, "rb") != 0) {
|
if (fopen_s(&fp, filepath, "rb") != 0) {
|
||||||
@@ -15,7 +39,7 @@ bool read_file(array<char>* out, const char* filepath) {
|
|||||||
size_t sz = ftell(fp);
|
size_t sz = ftell(fp);
|
||||||
fseek(fp, 0, SEEK_SET);
|
fseek(fp, 0, SEEK_SET);
|
||||||
|
|
||||||
char *data = (char*)malloc(sizeof(char)*sz);
|
char* data = (char*)malloc(sizeof(char) * sz);
|
||||||
fread(data, sizeof(char), sz, fp);
|
fread(data, sizeof(char), sz, fp);
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
out->data = data;
|
out->data = data;
|
||||||
|
|||||||
Reference in New Issue
Block a user