分布式服务器插件
文档 下载 评论(10)

SimpleNetChannel 简介

SimpleNetChannel简称SNC 是一款分布式插件。
目前该插件支持发送数据加密,以及可靠的UDP和高并发的TCP。

这个插件能做什么呢?
它可以实现点对点通信 或者是点对面通信 或者面对面通信。如果希望有一套可以立马建立对端通信方案,SimpleNetChannel会帮助到您,因为它完全是轻量级别的分布式服务器插件,操作简单,可以跨平台。

它都能实现哪些内容呢?
1.web分布式服务器来更新ios windows 安卓 mac端
web分布式服务器搭建全平台app

2.SimpleNetChannel和UE4DS服务器结合能实现游戏分布式服务器

maba分布式服务器加ds服务器

3.SimpleNetChannel与UE4DS服务器结合开发的MMOARPG游戏:

MMOARPG分布式DS集群架构

SimpleNetChannel目前支持两种协议,TCP和UDP(目前 UDP 是可靠并且已经稳定,我们的TCP还处于测试阶段,TCP支持高并发的iocp和epoll的网络模式)。

那么我们对这两种模式做一个系统的介绍


SimpleNetChannel的UDP模式
由于各类动作类型网络游戏普及,UDP渐渐成为了首选 我们花了大量的精力来研发UDP这块,就是为了很好的支持这些。SimpleNetChannel UDP有两种模式,一种是暴力发包模式,一种是安全可靠模式,那么我对这两种模式分别介绍一下:
暴力发包:
这种模式传输速度最快,基本上是属于无阻碍式发送您的数据,完全是以原生发包策略,一键发送。
这种模式适合做什么内容呢?
每次发包很小的,但是频率很高的,也不考虑补包的。
1.实时直播
2.实时语音传输
它有什么优点?
1.发送的数据包实时性高,
2.和TCP相比 具有非常低的延迟性.
它有什么缺点?
1.发送的数据包需要对端足够大的接受缓存区,因为我们不会对完整的数据进行分包,也不会合并包,根不会延迟补包,如果我方的接受缓冲区太小不满足对端发送数据大小,包会丢失。
在高并发这块不如TCP iocp模式和epoll模式
安全可靠模式
该模式支持滑动窗口发包,丢包会补包,防御ddos攻击等。
如果你的发送端是10M大小的数据,那么可靠的UDP将会按照您的发送缓冲区大小来分割数据,分成一段段的数据,然后再将一段段的数据发送到对端,对端接受一段段数据后进行拼接,成为完整的包以后才会执行更上层的协议逻辑,如果出现丢序列包,会进行补包。
这种模式适合做什么内容呢?
1.轻量级web服务器
2.酒店服务器
3.分布式游戏服务器
4.市面上部分游戏和商业项目
它有什么优点?
对暴力发包模式上增加更多安全防御方面内容,提高数据在网络环境不好或者出现丢包的情况下可以及时的补包,让我们的UDP变的更加可靠。
它有什么缺点?
安全UDP模式和暴力发包模式 相比在抗延迟上略低一些,以UDP的略微传输效率 来换取更加安全的数据传输来应对不同网络环境的情况。

SimpleNetChannel的TCP模式
SimpleNetChannel架构下的TCP模式融入了 windows下是iocp模式和liunx下是epoll的模式。熟悉这两种模式的朋友,应该不会陌生,这两种模式可谓是想搞大规模高并发的不二选择,我们的这个插件融入了当前的两种模式,一台专业服务器上 压个几千人,几万人,毫无压力(目前TCP模式正在内测中…)。
TCP本身就是安全的协议,开发难度小,它不像UDP,我们花了大量的精力去研发UDP模式。
当前的轻量级服务器插件SimpleNetChannel在TCP模式下能做什么?
1.游戏分布式服务器
2.棋牌类型
3.web服务器
4.市面上大部分游戏和商业项目
它有什么优点?
1.高并发
2.数据传输安全,TCP本身有滑动窗口和补包策略
它有什么缺点?
相比UDP的暴力传输有较高的延迟,不适合做ARPG动作类型游戏

SimpleNetChannel TCP和UDP两种更细节的对比
UDP暴力发包模式发送的数据包需要对端足够大的接受缓存区,因为我们不会对完整的数据进行分包,也不会合并包,更不会延迟补包,如果我方的接受缓冲区太小不满足对端发送数据大小,包会丢失。
在高并发这块不如TCP, TCP本身的socket一对一的这种特点决定了它是为高并发做准备的,我们的UDP是可以一对多,在多并发的条件下需要对单个UDP Socket 进行监听客户端加入,采用多线程虽然会提升不少效率,但是频繁加锁解锁也是一种开销,整体来说确实TCP在这块优势极大。
以上是关于这SimpleNetChannel相关的介绍。


日志更新

2022年3月31日 SNC增加多播功能 SIMPLE_SERVER_MULTICAST_SEND ,该API可以实现服务器对用户广播,该广播是可以自定义的,可以指定哪些链接者需要广播。

10条回应:“分布式服务器插件”

  1. HSH说道:

    能支持4.23吗,我下载最新版本试过,运行FSimpleNetManage->Init();会崩溃

  2. LeoMYP说道:

    什么时候更新4.27版本啊,现在的这几个好像在4.27都编译不过

  3. stdnxd说道:

    购买这个插件的话 附带源码吗

  4. stdnxd说道:

    能开发票吗

  5. BoneSun说道:

    3>E:\Unreal_Source\UnrealEngine_5.0\Engine\Plugins\Simple\SimpleNetChannel\Source\SimpleNetChannel\Private\Channel\SimpleChannel.cpp(38): Warning C4996 : ‘UObjectBaseUtility::MarkPendingKill’: MarkPendingKill() should no longer be used. Use MarkAsGarbage() which will work just like MarkPendingKill() if Pending Kill support is enabled. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.

    ue 版本Source 5.0.3
    平台:windows10
    宅哥有空更新下这个吧

发表评论

一.商业版本和学习版本的对比

二.您还未登陆哦

三.该资源出自以下课程

四.社区版本