Unity3D游戏,TCP,WEBCOSKT,HTTP通信架构 weaving-socket
项目简介
2017-8-8:新发布功能
增加U3D游戏客户的通讯项目支持,并提供示例内容。
2017-5-5: 新发布 weaving-socket 架构的.net core跨平台版本
需要.net core跨平台使用的 打开以下链接
https://git.oschina.net/dreamsfly900/weaving-socket-core
weaving-socket,设计基于TCP/websocket通信的交互框架。是编写物联网,消息队列,websocket应用,移动通信应用,IM等完美的选择。可规范先后台交互处理,可支持,B/C,C/S,手机移动标准化的通信方式 。达到后台业务一次编写,前台展示多协议全线支持的目的。还可根据网络及负载情况分布式部署网管与服务。先已支持win10 IOT 设备与架构的数据传输支持。
可实现单机多协议多接口共享业务逻辑的方式,也就是业务逻辑只用写一次,通过不同的端口监听不同的协议内容,即可达到不同设备不同协议的互联互通。
项目优势
使用此架构编写项目可以做到在单机负载不足的情况下可以交差扩容。通过不同的前置交换端和后端增容,达到前后均可增容。
使用此架构或者架构支持的通讯协议进行项目编写可以,同时支持websocket,http,socket json,socket 十六进制,4中协议,后端编写时不需要知道前端的通讯协议使用统一的发送方法即可达成交互。
1.可达到快速支持多协议混合支持,多协议混合支持的优势在于,当您的项目在前期需要WEBSOCKET通信,后期需要增加UWP,或者其他C/S软件通信时,只需要开发对应协议的端口,完全不需要修改任何业务逻辑代码即可完成。极大的增强了多客户端多协议内容扩展的便捷性。
2.在单机性能不能满足时,可通过协议代理网关快速的将现有项目快速的变为分布式负载项目。
3.业务逻辑编写快速便捷:编写业务逻辑时,只需要继承一个接口即可通信。接收数据时只需要在自定义方法上增加特点标识,架构即可自动识别到此方法,并将对应的通信数据发送到该方法中。发生数据时,通过内置方法自动拆分大数据,不用担心发送大数据大小问题。
技术支持群:17375149

软件适用范围:
此软件适用于,游戏服务端,及时通讯,数据传输,物联网数据获取,云数据互通,等大部分与网络数据传输有关的项目软件。数据内容可通过实体类对象之间发送出去,以JSON 数据形式编码,速度快,操作简单,数据安全。
1. 企业级,通用级C/s系统。相对于直接连接数据库,此架构更稳定安全,相对于基于http通讯的c/s项目,具有更高的执行效率,数据通信更小更安全性。可以后端持久运行逻辑与数据。
2. 手机推送项目,相对于第三方手机消息推送此架构,拥有更高的自由特性,更便于对于信息异常的追踪处理,根据项目的特性可以拥有更高的即时通讯。
3. 及时通讯项目,更便于开发出c/s,b/s同步的混合项目,例如:开发c/s,b/s的聊天项目,后端逻辑只需编写一次,不需要分别为b/s,c/s单独编写逻辑。只需打开路由即可代理不同协议 。
4. 对于复杂网络的项目,一些项目需要从公网发生数据到不同的内网平台,此架构可以统一对外数据接收端口,分发到不同的对应网络。从不同的内网平台的数据可以通过统一端口分发至不同的公网地址。简单的表述就是外网多端数据统一路由分发到对应端,或是内网单一端数据分发外网多端。安全,稳定,快速,健壮。
5. 物联网项目。通过usb,com,udt,等接口物联网统一转换为socket接口。
b/s,web项目,对于服务端执行大量消耗等待的功能可使用web socket,使浏览器提升等待体验和避免服务端的阻塞
分布式网关负载说明
1. 对于网络连接来说,一般的连接极限来自于,应用程序性能,网络带宽,和机器连接极限.
2. 此网关负载主要是通过,多机运行节点,,多节点数据合并,避免机器连接极限,与带宽极限。此网关适合于数据类型项目,对于大型文件下载传输,视频并不合适。
3. 主要有点使用TCP方式,支持多种类型客户端连接,WP系统客户端,C/S客户端,安卓客户端,IOS客户端,B/S客户端,PLC,各种支持 TCP微芯片设备。适用于,网络游戏,工业信息采集,智能家庭设备采集,工业设备采集,实时性较强的IM类型项目,也可替代一般的程序与数据库交互,可做 到数据传输快,安全,稳定。极大的降低数据库压力。
4. 原理说明:在客户端大量并发的情况下,一个应用所承受是有极限的,分布这个极限需要使用多机负载,在多机负载情况下,为了保证数据一致性,会有越来 越多的资源消耗在数据同步中,此方案解决的是在数据带宽占用小,连接数量大的项目中,通过使多机负载的数据合并数据通道,使多个客户端连接,合并入同一通 道内,减少对于数据功能端的连接数量消耗.改为对带宽资源消耗,以空间换连接资源的方法节约,并提高负载能力.相当于客户端如果发送请求为10W个,网关 转化量设置为100,则数据处理端的连接量为10W/100=1000个.如图显示:

图1 无连接是服务节点展示图

图2 有连接时动态增加服务节点
5. 基本流程图:


选择将代码托管在码云
你还在等什么
可能是中国最大最好的代码托管平台
Unity3D游戏,TCP,WEBCOSKT,HTTP通信架构 weaving-socket的更多相关文章
- 基于TCP协议的项目架构之Socket流传输的实现
项目背景 某银行的影像平台由于使用时间长,服务器等配置原因,老影像系统满足不了现在日益增长的数据量的需求,所以急需要升级改造.传统的影像平台使用的是Oracle数据库和简单的架构来存储数据(视频.图 ...
- 泡泡堂、QQ堂游戏通信架构分析
http://blog.csdn.net/sodme/article/details/468327#comments ————————————————————————————————————————— ...
- 总结:Unity3D游戏上线后的流程回顾
原地址:http://unity3d.9tech.cn/news/2014/0127/39748.html 首先.unity 灯光烘焙 :Unity 3d FBX模型导入.选项Model 不导入资源球 ...
- 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.1.1
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...
- 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.1.2
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...
- 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.0.1
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...
- [Unity3D]Unity3D游戏开发Lua随着游戏的债券(于)
---------------------------------------------------------------------------------------------------- ...
- 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.1.3
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...
- [Contiki系列论文之2]WSN的自适应通信架构
说明:本系列文章翻译自Contiki之父Adam Dunkels经典论文,版权归原作者全部. Contiki是由Adam Dunkels及其团队开发的系统.研读其论文是对深入理解Contiki系统的最 ...
随机推荐
- 运维笔记:zabbix的运用(1)安装过程
前言 如果是用了阿里云或者腾讯云,他们都有各种监控帮我们做好.但是如果是遇到了自己维护自己机房的服务器,那么一些可视化或者监控就很有意义了.监控可能有很多种方案,这里就以比较老牌通吃的zabbix来解 ...
- sql server 备份计划
SSMS 1.管理 2.维护计划 3.维护计划向导 或者 1. server 代理 2. 作业 3. 新建作业 备份计划时间尽量选在闲时, 例如午夜
- SQL-Redis使用详细教程
一.Redis基础部分: 1.redis介绍与安装比mysql快10倍以上 *****************redis适用场合**************** 1.取最新N个数据的操作 2.排行榜应 ...
- NOI模拟赛(3.8)Problem B
Description Alice和Bob在玩一个游戏,给出一张n*m的棋盘,上面有一些点是障碍,游戏的开始,Alice选定棋盘上任意一个不是障碍的格子,并且将一枚棋子放在其中,然后Bob先手,两人轮 ...
- C++——"%"运算符
基本介绍 r=a%b,余数的取值范围为-b+1~b-1,符号与a一致 要想得到0~b-1的余数,可以用:(a%b+b)%b 数位拆解 方法一:反复的:%10,/10 sizea = 0; while ...
- json,js中typeof用法详细介绍及NaN、 null 及 undefined 的区别
JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON.stringify(jsonobj); //可以将json对象转换成json对符串 在js使用中的一个函 ...
- android源码编译时拷贝替换指定文件
由于要做版本定制,某些版本的资源文件等(例如style.xml)需要不同的配置,但是android的编译开关无法在xml里使用,于是想到了编译时根据不同的编译开关编译不同的文件,如下: 1.建立A.x ...
- 【NOIP2017练习&BZOJ4998】星球联盟(强联通分量,并查集)
题意: 在遥远的S星系中一共有N个星球,编号为1…N.其中的一些星球决定组成联盟,以方便相互间的交流. 但是,组成联盟的首要条件就是交通条件.初始时,在这N个星球间有M条太空隧道.每条太空隧道连接两个 ...
- PatentTips - Hierarchical RAID system including multiple RAIDs
BACKGROUND OF THE INVENTION The present invention relates to a storage system offering large capacit ...
- Delphi DBGrid实现多选
DBGrid1.Options:= DBGrid1.Options+[dgMultiSelect]; //先设置DBGrid1的多选属性为True if DBGrid1.SelectedRows.C ...
