Networking (Windows): fix libz loading; use TCP_FASTOPEN if available

This commit is contained in:
李通洲
2025-03-16 10:09:33 +08:00
parent dfc9bc265c
commit dbc6f70f19
2 changed files with 17 additions and 2 deletions
+7 -1
View File
@@ -22,7 +22,13 @@ const char* ffNetworkingLoadZlibLibrary(void)
if (!zlibData.inited)
{
zlibData.inited = true;
FF_LIBRARY_LOAD(zlib, "dlopen libz failed", "libz" FF_LIBRARY_EXTENSION, 2)
FF_LIBRARY_LOAD(zlib, "dlopen libz failed",
#ifdef _WIN32
"zlib1"
#else
"libz"
#endif
FF_LIBRARY_EXTENSION, 2)
FF_LIBRARY_LOAD_SYMBOL_VAR_MESSAGE(zlib, zlibData, inflateInit2_)
FF_LIBRARY_LOAD_SYMBOL_VAR_MESSAGE(zlib, zlibData, inflate)
FF_LIBRARY_LOAD_SYMBOL_VAR_MESSAGE(zlib, zlibData, inflateEnd)
+10 -1
View File
@@ -105,9 +105,9 @@ const char* ffNetworkingSendHttpRequest(FFNetworkingState* state, const char* ho
return "socket() failed";
}
DWORD flag = 1;
#ifdef TCP_NODELAY
// Enable TCP_NODELAY to disable Nagle's algorithm
DWORD flag = 1;
if (setsockopt(state->sockfd, IPPROTO_TCP, TCP_NODELAY, (char*)&flag, sizeof(flag)) != 0) {
FF_DEBUG("Failed to set TCP_NODELAY: %d", WSAGetLastError());
} else {
@@ -115,6 +115,15 @@ const char* ffNetworkingSendHttpRequest(FFNetworkingState* state, const char* ho
}
#endif
#ifdef TCP_FASTOPEN
// Set TCP Fast Open
if (setsockopt(state->sockfd, IPPROTO_TCP, TCP_FASTOPEN, (char*)&flag, sizeof(flag)) != 0) {
FF_DEBUG("Failed to set TCP_FASTOPEN option: %d", WSAGetLastError());
} else {
FF_DEBUG("Successfully set TCP_FASTOPEN option");
}
#endif
// Set timeout if needed
if (state->timeout > 0) {
FF_DEBUG("Setting connection timeout: %u ms", state->timeout);