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

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相关的介绍。

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

  1. HSH说道:

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

发表评论

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

二.您还未登陆哦

三.该资源出自以下课程