728x90
서버와의 연결
간단한 로그인 UI를 만들었고, 이번에는 C++서버와의 연결을 준비했다. C++ 서버의 경우 최흥배님의 깃헙을 참조해 사용했다.
NetworkManager
- NetworkManager
- MyGameInstance에서 다 해결해주는 것이 아니라, 서버와의 연결을 담당해줄 클래스를 만들어 주었다.
- NetworkManager.h
//NetworkManager.h UCLASS() class VERSUSVILLAGE_API UNetworkManager : public UObject { GENERATED_BODY() public: bool ConnectToServer(FString ServerAddress, int32 Port); void SendData(FString DataToSend); private: class FSocket* ClientSocket; };
- NetworkManager.cpp
//NetworkManager.cpp // Fill out your copyright notice in the Description page of Project Settings. #include "NetworkManager.h" #include "Networking/Public/Networking.h" #include "Sockets.h" #include "SocketSubsystem.h" #include "Interfaces/IPv4/IPv4Address.h" bool UNetworkManager::ConnectToServer(FString ServerAddress, int32 Port) { FIPv4Address Ip; FIPv4Address::Parse(ServerAddress, Ip); TSharedRef<FInternetAddr> Addr = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->CreateInternetAddr(); Addr->SetIp(Ip.Value); Addr->SetPort(Port); ClientSocket = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->CreateSocket(NAME_Stream, TEXT("Default"), false); if (ClientSocket->Connect(*Addr)) { UE_LOG(LogTemp, Log, TEXT("Succ ConnectToServer")); return true; } else { UE_LOG(LogTemp, Log, TEXT("Fail ConnectToServer")); return false; } } void UNetworkManager::SendData(FString DataToSend) { if (ClientSocket) { TCHAR* SerializedChar = DataToSend.GetCharArray().GetData(); int32 Size = FCString::Strlen(SerializedChar); int32 Sent = 0; ClientSocket->Send((uint8*)TCHAR_TO_UTF8(SerializedChar), Size, Sent); UE_LOG(LogTemp, Log, TEXT("Succ SendData")); } }
- 여러 트러블 슈팅을 겪었지만 성공적으로 서버와의 연결을 성공 할 수 있었다.
- MyGameInstance에서 다 해결해주는 것이 아니라, 서버와의 연결을 담당해줄 클래스를 만들어 주었다.


- 아오.. 되게 한게 없이 짧지만 트러블 슈팅 때문에 너무 많은 시간을 잡아 먹었다.. 쉽지않아 쉽지않아
728x90
'Study > Project' 카테고리의 다른 글
VV 3. 로그인 기능 (0) | 2024.10.29 |
---|---|
VV 트러블 슈팅 1. MSB3073 에러, NewObject with empty name can't be used to create default subobjects 에러 (0) | 2024.10.24 |
VV 1. 로그인 UI (3) | 2024.10.23 |
슬레이어즈_동기화 피드백 (0) | 2024.06.18 |
슬레이어즈_구분자 프레이밍 피드백 (1) | 2024.06.18 |