UDP FSocket::SendTo crash editor in the second call

I use UDP FSocket to connect to the server, written in C++ and Boost. The network code is located in my PlayerController:

void ATPlayerController::Connect()
{
	DebugPrint("void ATPlayerController::Connect()");

	FIPv4Address RemoteAdress;
	FIPv4Address::Parse("127.0.0.1", RemoteAdress);
	RemoteEndPoint = FIPv4Endpoint(RemoteAdress, 1234);
	Socket = FUdpSocketBuilder("default").AsNonBlocking();

	Message.MessageType = Message.TMT_ENTER;
	strcpy(Message.Text, "Player");
	int32 Result;
	Socket->SendTo((uint8*)&Message, sizeof(TMessage), Result, *RemoteEndPoint.ToInternetAddr());
	int ECode = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->GetLastErrorCode();
	DebugPrint("Connect = " + FString::FromInt(Result) + "/" + FString::FromInt((int)sizeof(TMessage)) + " : " + FString::FromInt(ECode));
}

void ATPlayerController::Disconnect()
{
	DebugPrint("Disconnect");
	if (Socket)
	{
		Socket->Close();
		ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->DestroySocket(Socket);
	}
}

void ATPlayerController::SendMovement()
{
	Message.MessageType = Message.TMT_MOVE;
	Message.MoveDirection[0] = MoveDirection[0];
	Message.MoveDirection[1] = MoveDirection[1];
	Message.MoveDirection[2] = MoveDirection[2];
	int32 Result;
	Socket->SendTo((uint8*)&Message, sizeof(TMessage), Result, *RemoteEndPoint.ToInternetAddr());
	//int ECode = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->GetLastErrorCode();

	DebugPrint("SendMovement = " + FString::FromInt(Result) + "/" + FString::FromInt((int)sizeof(TMessage)));
}

ATPlayerController::Connect() method is called from GameMode::BeginPlay(). ATPlayerController::SendMovement() is invoked such a chain of methods:

void ATPlayerController::Forward() { if (MoveDirection[0] < 1)MoveDirection[0]++; SendMovement(); }

InputComponent->BindAction("MoveForward", IE_Pressed, this, &ATPlayerController::Forward);

The first Socket->SendTo() in the Connect() method works fine, the server shows that the data is reached. The second call crash the editor with this text:
Access violation - code c0000005 (first/second chance not available)

""

UE4Editor_GameClient!ATPlayerController::SendMovement() [c:\users\prizzzt\documents\unreal projects\gameclient\source\gameclient\tplayercontroller.cpp:81]
UE4Editor_Engine!FInputActionUnifiedDelegate::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\engine\classes\components\inputcomponent.h:181]
UE4Editor_Engine!UPlayerInput::ProcessInputStack() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\engine\private\userinterface\playerinput.cpp:1119]
UE4Editor_Engine!APlayerController::ProcessPlayerInput() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\engine\private\playercontroller.cpp:2281]
UE4Editor_Engine!APlayerController::TickPlayerInput() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\engine\private\playercontroller.cpp:3824]
UE4Editor_Engine!APlayerController::PlayerTick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\engine\private\playercontroller.cpp:1950]
UE4Editor_Engine!APlayerController::TickActor() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\engine\private\playercontroller.cpp:3900]
UE4Editor_Engine!FActorTickFunction::ExecuteTick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\engine\private\actor.cpp:107]
UE4Editor_Engine!FTickFunctionTask::DoTask() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\engine\private\ticktaskmanager.cpp:141]
UE4Editor_Engine!TGraphTask<FTickFunctionTask>::ExecuteTask() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\async\taskgraphinterfaces.h:779]
UE4Editor_Core!FTaskThread::ProcessTasks() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\async\taskgraph.cpp:539]
UE4Editor_Core!FTaskThread::ProcessTasksUntilQuit() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\async\taskgraph.cpp:340]
UE4Editor_Core!FTaskGraphImplementation::WaitUntilTasksComplete() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\async\taskgraph.cpp:1140]
UE4Editor_Engine!FTaskGraphInterface::WaitUntilTaskCompletes() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\async\taskgraphinterfaces.h:212]
UE4Editor_Engine!FTickTaskSequencer::ReleaseTickGroup() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\engine\private\ticktaskmanager.cpp:285]
UE4Editor_Engine!FTickTaskManager::RunTickGroup() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\engine\private\ticktaskmanager.cpp:1206]
UE4Editor_Engine!UWorld::RunTickGroup() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\engine\private\leveltick.cpp:701]
UE4Editor_Engine!UWorld::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\engine\private\leveltick.cpp:1150]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\unrealed\private\editorengine.cpp:1347]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\unrealed\private\unrealedengine.cpp:361]
UE4Editor!FEngineLoop::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\launch\private\launchengineloop.cpp:2427]
UE4Editor!GuardedMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\launch\private\launch.cpp:142]
UE4Editor!GuardedMainWrapper() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\launch\private\windows\launchwindows.cpp:200]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
kernel32
ntdll

Please help me! What am I doing wrong?

I solved this problem using this post.
Just don’t need to call functions using FSocket from the same class in which they are declared.