UE4 连接自定义服务器
2016-06-29 09:07
891 查看
UE4 连接自定义服务器
在虚幻引擎中连接自定义服务器
UE4 dedicated server是一个很好的游戏服务器,但是对于大厅和聊天服务器来说,我们要自行开发,通过UE4的socket组建很方便的和其他服务器建立连接
创建Socket
FSocket* Socket = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->CreateSocket(NAME_Stream, TEXT("default"), false);
CreateSocket参数
类型
描述
是否强制UDP
设置地址
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 服务器模式
- UE4 服务器同步
- IIPP迷你项目(二)"Guess the Number!"
- [leetcode] 300. Longest Increasing Subsequence
- Slow query log日志跟踪
- HBuilder之Chrome调试Android手机
- UITextFiled,UITextView长度限制
- HBuilder之真机运行
- 【Arduino官方教程第一辑】示例程序 6-4 超声波测距传感器
- EasyUI datagrid border处理,加边框,去边框
- Codeforces 163A Substring and Subsequence
- Vue.js——60分钟组件快速入门(上篇)
- 30分钟git命令入门到放弃
- 347. Top K Frequent Elements
- ThreadPoolExecutor原理与使用
- requestWindowFeature无法隐藏标题栏
- Druid
- 优化UITableViewCell高度计算的那些事
- UIScrollView不像样touchBegain点击事件
- iOS8的UIAlertController