UE4 连接自定义服务器
生活随笔
收集整理的這篇文章主要介紹了
UE4 连接自定义服务器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
UE4 dedicated server是一個很好的游戲服務器,但是對于大廳和聊天服務器來說,我們要自行開發,通過UE4的socket組建很方便的和其他服務器建立連接
類型 描述 是否強制UDP
創建Socket
FSocket* Socket = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->CreateSocket(NAME_Stream, TEXT("default"), false);CreateSocket參數
?
設置地址
FString address = TEXT("127.0.0.1"); int32 port = 19834; FIPv4Address ip; FIPv4Address::Parse(address, ip); TSharedRef addr = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->CreateInternetAddr(); addr->SetIp(ip.GetValue()); addr->SetPort(port);?
連接服務器
?
bool connected = Socket->Connect(*addr);如果返回True說明連接服務器成功.
?
發送消息
FString serialized = TEXT("loadPlayer|1"); TCHAR *serializedChar = serialized.GetCharArray().GetData(); int32 size = FCString::Strlen(serializedChar); int32 sent = 0;?
發送內容FString轉換成TCHAR*,格式化發送數據
bool successful = Socket->Send((uint8*)TCHAR_TO_UTF8(serializedChar), size, sent);接受數據我們用到?HasPendingData?和Recv?函數在?FSocket?類中.
在工程中引用Sockets模塊
PublicDependencyModuleNames.AddRange(new string[]{"Core","CoreUObject","Engine","Sockets"} );總結
以上是生活随笔為你收集整理的UE4 连接自定义服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 存款变保险怎么处理,三招有效的应对
- 下一篇: html简单父子页面,js 的 ifra