WebSocket module not found

I can’t figure out what’s wrong.

As shown in the picture, the module is null.

		PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "HTTP", "Json", "JsonUtilities" , "WebSockets", "OnlineSubsystem" });

I also added dependencies

#include "WebSocket.h"
#include "Modules/ModuleManager.h"

void UWebSocket::ConnectToWebSocket(const FString& ServerURL)
{
    FWebSocketsModule* WebSocketModule = &FModuleManager::LoadModuleChecked<FWebSocketsModule>(TEXT("WebSockets"));
    if ( WebSocketModule ) {
        if ( !FModuleManager::Get().IsModuleLoaded("WebSocket") )
        {
            FModuleManager::Get().LoadModule("WebSocket");
        }
        WebSocket = WebSocketModule->CreateWebSocket(ServerURL);
    }

    if ( !WebSocket.IsValid() )
    {
        UE_LOG(LogTemp , Error , TEXT("Failed to create WebSocket!"));
        return;
    }

    WebSocket->OnConnected().AddLambda([]() {
        UE_LOG(LogTemp , Log , TEXT("WebSocket connected!"));
    });

    WebSocket->OnMessage().AddLambda([](const FString& Message) {
        UE_LOG(LogTemp , Log , TEXT("Send Msg: %s") , *Message);
    });

    WebSocket->OnClosed().AddLambda([](int32 StatusCode , const FString& Reason , bool bWasClean) {
        UE_LOG(LogTemp , Log , TEXT("WebSocket closed: %s") , *Reason);
    });

    WebSocket->Connect();
}```

This is my test code.

The picture is not uploaded, so I am writing down the code.

IModuleInterface& FModuleManager::LoadModuleChecked( const FName InModuleName )
{
	IModuleInterface* Module = LoadModule(InModuleName, ELoadModuleFlags::LogFailures);
	checkf(Module, TEXT("%s"), *InModuleName.ToString());

	return *Module;
}

Checkf is called in the function in the FModuleManager class.
Module is displayed as null.

In this code, it’s null, so it crashes.