UE4 连接自定义服务器

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

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);


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"
   }
);
时间: 2024-10-11 18:46:09

UE4 连接自定义服务器的相关文章

啊Ran讲微信开发(.net) :订阅号+自定义服务器(URL接入,文本消息处理)

本篇主要围绕的是自定义Web服务器的架构搭建. 在上篇中"开发者中心"留下了两个词"URL"和"Token",URL指的是能够接收处理微信服务器发送的GET/POST请求的网址,该网址应该已部署到开发这的WEB服务器中,能被公网访问得到.Token是用作微信服务器与开发者Web服务器之间进行通信的安全签名,每次微信服务器和开发者Web服务器的通信都会含有该Token值经过加密后的信息,通过对比Token值,验证通信的安全性.Token用于防止未授

gloox连接到服务器(一个XMPP的库)

gloox连接至服务器端 在使用gloox之前,有必要先提一下XMPP协议这个东东. XMPP协议是一个基于互联网的即时通信标准协议.它采用XML技术,以文本的方式传输即时消息.支持动态自定义扩展应用.与传统的网络协议相比,如QQ等,XMPP协议并不是一个基于二进制方式实现的协议,而是基于XML技术的文本方式,也就是说如果不采用加密技术的话,是可以直接查看发送的消息的.XMPP协议通过定义一些XML的节点关键字,来表明消息发送信息,并与其它协议能够有效的结合,总的说来,XMPP协议是一种很不错的

怎样使用Xftp连接Centos服务器

Xftp是一个用于MS Windows平台的强大的FTP和SFTP文件传输程序.想要传输自然需要连接服务器,如何使用Xftp连接Centos服务器?本文将详细说明xmanager企业版5中xftp如何连接服务器和操作服务器. 一.如何连接1. 新建会话 打开Xftp软件,依次点击[文件]-[新建],来新建会话:如果没有xftp,可以在xmanager企业版中下载使用 2.自定义设置 在[名称]中输入自定义名称,[主机]中填写Centos服务器的ip地址,[协议]为:SFTP,[端口]默认为22.

MongoDB的客户端管理工具--nosqlbooster 连接MongoDB服务器

nosqlbooster的官网地址为https://nosqlbooster.com.大家如果想直接下载,可以登入下载网址https://nosqlbooster.com/downloads. 下载windows 64位 1 连接登入 1 点击上面工具栏的[Connect]按钮 2 在弹出的Connections 界面中 点击[Create]按钮.因为是第一次,连接信息要新建. 3 在弹出的Connection Editor 界面编辑登入信息. 主要有三类信息要求输入 1. Basic:2.Au

widows本地-xshell实现远程连接linux服务器图形界面

本地环境远程连接linux图形界面,常用的实现工具有,VNC.Puty.Xshell等,这里我们用的xshell manager: Xmanager简介:Xmanager是一个运行于 Windows平台上的高性能的X Server软件.它能把远端Unix/Linux的桌面无缝地带到你的Windows上,甚至电脑是在内网或防火墙后,也能通过SSH协议安全的运行远端的X应用程序. 特点包括: 可通过Xcongfig工具设置多个Xmanager设置: 支持多用户的Windows终端环境: 支持多个IP

mac 远程连接 云服务器

之前mac 命令行连接云端服务器,一直失败,今天问题突然间解决了,如果遇到类似的问题,按照方法解决不了,可以在下面留言,共同探讨. 首先,在云端先判断一下云端服务器是否安装了    ssh服务器:openssh-server 在命令行输入:ssh localhost 如果已经安装过的话,会出现下面结果 如果没有安装过的话,则会出现下面的结果: ssh: connect to host localhost port 22: Connection refused 下面咱们来安装ssh服务器 在终端写

通过VNC连接远程服务器,然后登陆服务器上的虚拟机,出现键盘输入问题的解决方法

前几天由于要在服务器上装一个虚拟机,然后就选择了vmware workstation,装好之后,进入虚拟机中的centOS系统,发现键盘上的Cpas Lock键不起作用,按下之后还是输入小写,而且按住shift + ,不会出现 ‘<' 而是出现 ‘>',这怎么可以,这完全没法在虚拟机中使用呀. 因为我是通过VNC连接到服务器,原先一直认为是vmware软件的问题,然后就换vmware的版本,结果还是不行:后来我就直接试了下直接在服务器上链接一个屏幕,然后使用vmware,发现完全没有这个问题:

远程连接Linux服务器

远程连接Linux服务器一般使用ssh方式. 1.Linux系统下连接远程Linux服务器可以直接使用ssh命令. 格式如下: ssh [email protected]192.168.1.1 root对应你使用的用户名,192……对应的服务器ip地址,一般服务器端口22,命令默认22,如果需要更改端口在ssh后面 -p 端口. 2.Windows系统下连接Linux服务器一般需借助PuTTY, Xshell, SSH Secure Shell Slient,SecureCRT.

命令行连接mysql服务器时 报Can&#39;t connect to local MySQL server through socket &#39;xxx.sock&#39;错误

本来之前用的好好的mysql服务器,突然就报Can't connect to local MySQL server through socket 'xxx.sock'错误了 遇到该问题思路首先是:检查 my.cnf 中 socket 配置的路径及权限. 但是查看完 没发现路劲权限有问题,最后跑去另一台同时配置的服务器上看  发现/data/perconadata有一个/mnt/perconadata/mysql.sock的软连接 于是乎到问题机器上 cd /data/perconadata/ s