UE4之网络编程--连接自定义服务器

本文介绍了如何在虚幻引擎4 (UE4) 中连接自定义服务器,包括创建Socket、设置地址、连接服务器、发送及接收消息的具体步骤,并提供了相关的代码示例。

转载学习:http://blog.youkuaiyun.com/pizi0475/article/details/51780574

在虚幻引擎中连接自定义服务器

UE4 dedicated server是一个很好的游戏服务器,但是对于大厅和聊天服务器来说,我们要自行开发,通过UE4的socket组建很方便的和其他服务器建立连接

创建Socket

FSocket* Socket = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->CreateSocket(NAME_Stream, TEXT("default"), false);

CreateSocket参数

  1. 类型
  2. 描述
  3. 是否强制UDP

设置地址

FString address = TEXT("127.0.0.1");
int32 port = 19834;
FIPv4Address ip;
FIPv4Address::Parse(address, ip);

连接服务器

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 Sockets多线程TCP通信

http://blog.youkuaiyun.com/zilisen/article/details/75007447

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值