UE4通信进阶教程:如何向服务器发送消息 (ue4 发送消息到服务器)

UE4(Unreal Engine 4)是一款非常强大的游戏引擎,它提供了丰富的网络功能,包括客户端和服务器之间的通信,在UE4中,我们可以使用其内置的网络模块来实现客户端向服务器发送消息的功能,本文将详细介绍如何在UE4中实现这一功能。

创建一个新的项目

我们需要创建一个新的UE4项目,打开UE4编辑器,点击“文件”->“新建项目”,然后选择你想要的项目类型,蓝图”或“C++”,输入项目名称和路径,点击“创建”。

UE4通信进阶教程:如何向服务器发送消息 (ue4 发送消息到服务器)

设置网络模式

在项目创建完成后,我们需要设置项目的网络模式,点击编辑器顶部的“编辑”->“项目设置”,在弹出的窗口中选择“网络”选项卡,然后在“默认网络模式”下拉菜单中选择“专用服务器”。

创建玩家角色

接下来,我们需要创建一个玩家角色,在内容浏览器中,右键点击“关卡”->“添加Actor”,然后选择你想要的角色类,Pawn”。

创建玩家控制器

我们需要创建一个玩家控制器,在内容浏览器中,右键点击“类”->“添加类”,然后选择“PlayerController”。

UE4通信进阶教程:如何向服务器发送消息 (ue4 发送消息到服务器)

实现发送消息的功能

现在,我们可以开始实现发送消息的功能了,我们需要在玩家控制器中添加一个函数来发送消息,打开玩家控制器的代码编辑器,然后添加以下代码:

void APlayerController::SendMessageToServer(const FString& Message)
{
    if (GetNetMode() == NM_DedicatedServer || GetNetMode() == NM_Host)
    {
        // 创建一个消息对象
        FString MyMessage = FString::Printf(TEXT("%s"), *Message);
        FNetControlMessage OutMsg;
        OutMsg.SetOp(ENetControlMessageOp::RELIABLE_ORDERED);
        OutMsg.AddString(0, *MyMessage);
        OutMsg.bReliable = true;
        OutMsg.bDoNotReplicate = false;
        OutMsg.bAllowInlineModification = false;
        OutMsg.bAlwaysUpdateToClient = false;
        OutMsg.bShouldBeSent = true;
        OutMsg.bAutoComplete = false;
        OutMsg.bIsCritical = false;
        OutMsg.bReplicationFlags = 0;
        OutMsg.bNetPriority = 0;
        OutMsg.ArraySize = 1;
        OutMsg.DynamicArrays = nullptr;
        OutMsg.NetGUID = FGuid::NewGuid();
        OutMsg.ConnectionIdx = 0;
        OutMsg.ChannelIdx = 0;
        OutMsg.TargetIndex = 0;
        OutMsg.TargetChannelIdx = 0;
        OutMsg.TargetSubObjectIndex = 0;
        OutMsg.TargetSubObjectChannelIdx = 0;
        OutMsg.TargetObjectClass = NULL;
        OutMsg.TargetObjectName = NULL;
        OutMsg.TargetObjectPackageName = NULL;
        OutMsg.TargetObjectOuter = NULL;
        OutMsg.TargetObjectAssociation = NULL;
        OutMsg.TargetObjectContext = NULL;
        OutMsg.TargetObjectSubContext = NULL;
        OutMsg.TargetObjectNameSpace = NULL;
        OutMsg.TargetObjectFullName = NULL;
        OutMsg.TargetObjectWorldTransform = FTransform::Identity;
        OutMsg.TargetObjectComponentName = NULL;
        OutMsg.TargetObjectComponentTemplateName = NULL;
        OutMsg.TargetObjectComponentTemplatePathName = NULL;
        OutMsg.TargetObjectComponentClass = NULL;
        OutMsg.TargetObjectComponentPackageName = NULL;
        OutMsg.TargetObjectComponentOuter = NULL;
        Outmsg.TargetObjectComponentAssociation = NULL;
        Outmsg.TargetObjectComponentContext = NULL;
        Outmsg.TargetObjectComponentSubContext = NULL;
        Outmsg.TargetObjectComponentNameSpace = NULL;
        Outmsg.TargetObjectComponentFullName = NULL;
        Outmsg.TargetObjectComponentWorldTransform = FTransform::Identity;
        // 将消息发送到服务器
        ClientSendReliableOrderedMessage(*OutMsg.ToString());
    }
}

这段代码首先创建了一个消息对象,然后将我们想要发送的消息添加到这个消息对象中,最后调用ClientSendReliableOrderedMessage函数将消息发送到服务器。

测试发送消息的功能

现在,我们可以测试一下我们的发送消息的功能了,在游戏中按下暂停键,然后在控制台中输入我们想要发送的消息,例如Hello Server,然后按回车键,你应该能在服务器的控制台中看到这条消息。

UE4通信进阶教程:如何向服务器发送消息 (ue4 发送消息到服务器)

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/348743.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-03-07 15:14
Next 2024-03-07 15:19

相关推荐

  • 如何在云服务器上搭建数据库

    在云服务器上搭建数据库是一个常见的需求,下面将详细介绍如何在云服务器上搭建数据库的步骤。1. 选择合适的云服务提供商:你需要选择一个可靠的云服务提供商,如阿里云、腾讯云或亚马逊AWS等,这些提供商都提供了强大的云计算服务和各种数据库选项。2. 创建云服务器实例:登录到所选的云服务提供商的控制台,创建一个云服务器实例,你可以选择适合你需……

    2023-12-03
    0187
  • 局域网服务器需要多大硬盘够用

    局域网服务器所需的硬盘大小取决于多种因素,包括服务器预期用途、数据存储需求、用户数量以及未来扩展计划等,以下是对选择合适硬盘大小的详细技术介绍:服务器用途了解服务器的主要用途是关键,如果服务器用于文件共享和存储,那么可能需要较大的硬盘空间以存储大量文件,若服务器将用于应用程序托管或数据库管理,则需要考虑这些应用程序和数据库的大小以及它……

    2024-04-11
    0166
  • 自己租一台云服务器

    在云服务器上搭建Web开发环境,通常需要以下几个步骤:1、购买和配置云服务器你需要选择一个可靠的云服务提供商,如阿里云、腾讯云或AWS等,根据你的需求购买相应的服务器实例,并选择合适的操作系统(如Linux),接下来,根据实际需求配置服务器的网络、安全组等设置。2、安装Web服务器软件Web服务器是用于托管网站和应用程序的软件,常见的……

    2024-03-07
    0128
  • 不用备案香港服务器有哪些类型可以选择,可以不要钱测试吗

    答:香港作为国际大都市,网络基础设施非常发达,网络延迟相对较低,但具体延迟情况还需根据供应商和地区的不同而定,国内访问香港服务器的延迟较低,适合用于承载面向国内用户的网站和应用,2、香港服务器的安全性如何?答:香港服务器的价格因供应商、配置、时长等因素而异,价格相对较高,但性能和稳定性较好,如果预算有限,可以考虑选择一些性价比较高的虚拟主机或云服务器,4、如何选择合适的香港服务器?

    2024-01-02
    0104
  • 筛选优质香港服务器租用的方法有哪些

    什么是优质香港服务器租用?优质香港服务器租用是指在香港地区提供的具有高性能、高稳定性、高安全性的服务器租赁服务,这些服务器通常采用先进的硬件设备,拥有高速的网络连接和丰富的带宽资源,能够满足各种类型的企业网站、电子商务平台、在线游戏等应用的运行需求,优质香港服务器租用还提供专业的技术支持和售后服务,确保客户在使用过程中能够得到及时的帮……

    2023-12-17
    0119
  • 阿里服务器一年多少钱

    阿里服务器简介阿里云服务器(Alibaba Cloud Server)是阿里巴巴集团旗下的一款云计算服务产品,提供稳定、安全、高效的计算能力、存储空间和网络带宽等基础设施服务,用户可以根据自己的业务需求,选择不同的服务器类型、配置和时长,享受弹性伸缩、快速部署、免费试用期等多种优势。阿里服务器价格因素1、服务器类型:阿里云服务器包括E……

    2024-01-27
    0185

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入