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中协议,后端编写时不需要知道前端的通讯协议使用统一的发送方法即可达成交互。

http://git.oschina.net/dreamsfly900/universal-Data-Communication-System-for-windows/blob/master/(物联网客户端)十六进制通讯协议详解.docx

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. 基本流程图:

weaving-socket

选择将代码托管在码云
你还在等什么

可能是中国最大最好的代码托管平台

原来通讯项目可以更简单~~~增加U3D游戏客户的通讯项目支持,并提供示例内容。特别鸣谢 风影大人 对项目的整理与代码规范所做的贡献,QQ交流群17375149 联系QQ:20573886
 
 
 
下载zipmaster分支 代码最近更新:2017-08-25

Unity3D游戏,TCP,WEBCOSKT,HTTP通信架构 weaving-socket的更多相关文章

  1. 基于TCP协议的项目架构之Socket流传输的实现

    项目背景  某银行的影像平台由于使用时间长,服务器等配置原因,老影像系统满足不了现在日益增长的数据量的需求,所以急需要升级改造.传统的影像平台使用的是Oracle数据库和简单的架构来存储数据(视频.图 ...

  2. 泡泡堂、QQ堂游戏通信架构分析

    http://blog.csdn.net/sodme/article/details/468327#comments ————————————————————————————————————————— ...

  3. 总结:Unity3D游戏上线后的流程回顾

    原地址:http://unity3d.9tech.cn/news/2014/0127/39748.html 首先.unity 灯光烘焙 :Unity 3d FBX模型导入.选项Model 不导入资源球 ...

  4. 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.1.1

    HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...

  5. 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.1.2

    HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...

  6. 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.0.1

    HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...

  7. [Unity3D]Unity3D游戏开发Lua随着游戏的债券(于)

    ---------------------------------------------------------------------------------------------------- ...

  8. 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.1.3

    HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...

  9. [Contiki系列论文之2]WSN的自适应通信架构

    说明:本系列文章翻译自Contiki之父Adam Dunkels经典论文,版权归原作者全部. Contiki是由Adam Dunkels及其团队开发的系统.研读其论文是对深入理解Contiki系统的最 ...

随机推荐

  1. Go:冒泡排序

    package main import "fmt" func BubbleSort(arr *[5]int) { fmt.Println("排序前:", *ar ...

  2. c# TcpClient简易聊天工具

    说明: TcpClient 链接是一个比较安全稳定的链接,作为聊天或者是数据稳定传输,是比较合适的,下面的代码测试过,如果你吧他放在公网服务器上,也是可以用的 using System; using ...

  3. 程序如何实现设置系统WIFI共享

    1.以管理员身份运行命令提示符:快捷键win+R(win+X 以管理员方式运行CMD)→输入cmd→回车2.启用并设定虚拟WiFi网卡:运行命令:netsh wlan set hostednetwor ...

  4. Git和SVN共存的方法

    刚工作的时候都是用的cvs和svn,对git不熟悉,随着工作的需要,打分支和版本管理的需要,熟悉起来了git,这一用不可收拾,比svn远远好用,尤其是版本分支管理上,切换分支的方便性,现在这家公司还是 ...

  5. <转> 二分图多重匹配问题

    在二分图最大匹配中,每个点(不管是X方点还是Y方点)最多只能和一条匹配边相关联,然而,我们经常遇到这种问题,即二分图匹配中一个点可以和多条匹配边相关联,但有上限,或者说,Li表示点i最多可以和多少条匹 ...

  6. hihoCoder#1114 小Hi小Ho的惊天大作战:扫雷·一

    原题地址 回溯+搜索 枚举每个位置上能否放地雷,当第i个位置枚举完成后,第i-1个位置的情况就确定了,此时,检查第i-1个位置是否满足要求,即左右间隔为1的范围内地雷数是否等于申明数字,如果满足条件, ...

  7. * SPOJ PGCD Primes in GCD Table (需要自己推线性筛函数,好题)

    题目大意: 给定n,m,求有多少组(a,b) 0<a<=n , 0<b<=m , 使得gcd(a,b)= p , p是一个素数 这里本来利用枚举一个个素数,然后利用莫比乌斯反演 ...

  8. Python模块:time、datetime、random、os、sys、optparse

    time模块的方法: 时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量. struct_time时间元组,共有九个元素组.如下图: time.localtime([secs]): ...

  9. Bone Collector II(hdu 2639)

    题意:求01背包的第k最优值 输入:第一行为T,下面是T组数据,每组数据有n,m,k 代表n件物品,m容量,和题目要求的k,下一行是n个物品的价值,再一行是n个物品的体积 输出:T行答案 /* 类似于 ...

  10. linux程序分析工具

    ldd和nm是Linux下两个非常实用的程序分析工具.ldd是用来分析程序运行时需要依赖的动态链接库的工具,nm是用来查看指定程序中的符号表信息的工具,objdump用来查看源代码与汇编代码,-d只查 ...