当前仓库属于暂停状态,部分功能使用受限,详情请查阅 仓库状态说明
1 Star 0 Fork 219

Junle / weaving-socket
暂停

forked from dotNET China / weaving-socket 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

nuget可搜索包Weave.TCPClient与Weave.Server

这里输入引用文本

**WeavingDB是一个轻量级的便捷的内存数据库,缓存库。 基于 weaving-socket ,欢迎大家学习使用

https://gitee.com/UDCS/WeavingDB

基于 weaving-socket 通讯架构制作的内存数据库,缓存库。

WsocketAutoUpPrj是一个几个weaving-socket的软件版本自动升级更新程序示例。

https://gitee.com/UDCS/WsocketAutoUpPrj

**

  • https://gitee.com/dreamsfly900/universal-Data-Communication-System-for-windows/wikis

  • 图文版教程:https://my.oschina.net/u/2476624/

  • QQ交流群17375149

  • 新版本更新:

  • 2015-8-8

  • 增加U3D游戏客户的通讯项目支持,并提供示例内容。

  • 2017-5-3更新新版本。老版本在多协议公用业务逻辑方面使用了协议中转网关,将协议进行兼容转换,并做到了分布式部署。

  • 目前大量的项目中,大多数不需要使用分布式的连接部署,新版本更新后,可实现单机多协议多接口共享业务逻辑的方式,也就是业务逻辑只用写一次,通过不同的端口监听不同的协议内容,即可达到不同设备不同协议的互联互通。

  • 2018-3-16 新增加websocket 对于ssl的支持

  • 2018-7-30 新增WeaveSocketDemoForUnity项目资料及视频教程下载地址

  • 链接:https://pan.baidu.com/s/1Qu0zmPUAd3oLdves8fpyBQ 密码:jpyu

视频教程架构:

** 教程1

http://v.youku.com/v_show/id_XMTYxNTg4ODU2MA==.html

教程2

http://v.youku.com/v_show/id_XMTYxNTg4OTYyMA==.html

进阶教程,网关的使用

http://v.youku.com/v_show/id_XMTczOTAzMjAyOA==.html?from=y1.7-2

高级教程:物联网开发:硬件数据到客户端的项目讲解

http://v.youku.com/v_show/id_XMTc0MDEzNTkyMA==.html

架构简述:

通用数据通讯构建,设计基于TCP通信的交互框架。是编写物联网,消息队列,websocket应用,移动通信应用,IM等完美的选择。可规范先后台交互处理,可支持,B/C,C/S,手机移动标准化的通信方式 。达到后台业务一次编写,前台展示全线支持的目的。还可根据网络及负载情况分布式部署网管与服务。先已支持win10 IOT 设备与架构的数据传输支持。

QQ交流群17375149 联系QQ:20573886 现已支持:

  • 1.安卓客户端,WP8.1客户端,websocket客户端,C/S C#桌面程序客户端,UWP通用程序客户端。
  • 2.socket负载网关,websocket中转网关,dtu中转网关,http中转网关。
  • 3。socket服务端架构 架构好处:
  1. 1.开源方式,更容易的自行维护与编写试用范围。
  2. 2.可自建通信平台,稳定方便,免费。
  3. 3.支持多种类型网络结构,项目案例,从底层直通用户。高效简洁。
  4. 4,学习速度快,编码迅速,只需关心业务逻辑。
  5. 5,通过一次逻辑编码,搭配不同的网关,可达到支持不同的网络协议而不需要重构代码。只需要打开网关即可。避免了大量学习SOCKET,WEBSOCKET,DTU,HTTP等相关通信与协议内容。并且可担负负载均衡与单点满载推荐等特点。 架构用途:

1

  1. .企业级,通用级C/s系统。相对于直接连接数据库,此架构更稳定安全,相对于基于http通讯的c/s项目,具有更高的执行效率,数据通信更小更安全性。可以后端持久运行逻辑与数据。
  2. 2.手机推送项目,相对于第三方手机消息推送此架构,拥有更高的自由特性,更便于对于信息异常的追踪处理,根据项目的特性可以拥有更高的即时通讯。
  3. 3.及时通讯项目,更便于开发出c/s,b/s同步的混合项目,例如:开发c/s,b/s的聊天项目,后端逻辑只需编写一次,不需要分别为b/s,c/s单独编写逻辑。只需打开路由即可代理不同协议 。
  4. 4.对于复杂网络的项目,一些项目需要从公网发生数据到不同的内网平台,此架构可以统一对外数据接收端口,分发到不同的对应网络。从不同的内网平台的数据可以通过统一端口分发至不同的公网地址。简单的表述就是外网多端数据统一路由分发到对应端,或是内网单一端数据分发外网多端。安全,稳定,快速,健壮。
  5. 5.物联网项目。通过usb,com,udt,等接口物联网统一转换为socket接口。 b/s,web项目,对于服务端执行大量消耗等待的功能可使用web socket,使浏览器提升等待体验和避免服务端的阻塞
  6. 6。 新增DTU网关,可实现传感器等DTU数值中转至服务器端处理逻辑。
  7. 7。新增uwp socket 客户端示例,可支持wp系统与win10 iot底层设备数据直链服务器端。帮助您更简单的实现物联网云平台。
  8. 8.新增HTTP协议网关,可使用ajax方式,获取与传输数据,兼容http简单熟悉的编码方式,又可得到socket的高效传输处理属性。

架构通讯使用的数据封包协议示意图

架构通讯使用的数据封包协议示意图

简单示例

服务端:

创建一个控制台程序,引用类库 using Weave.Base; using Weave.Server;

然后编写代码

static void Main(string[] args)
        {
            WeaveP2Server server = new WeaveP2Server();//初始化类库
            server.receiveevent += Server_receiveevent;//注册接收事件
//当然还有很多其他的事件可以注册,比如新增连接事件,连接断开事件
            server.start(8989);//启动监听8989端口
             
           
            Console.WriteLine("8989listen:");
            Console.ReadKey();
        }

        private static void Server_receiveevent(byte command, string data, System.Net.Sockets.Socket soc)
        {
            Console.WriteLine(data);//输出客户端发来的信息
        }

客户端:

然后创建一个控制台程序,引用类库 using Weave.TCPClient; using Weave.Base;

然后编写代码

   P2Pclient client = new P2Pclient(false);//初始化类库
static void  Main(string[] args)
        {
           
            client.timeoutevent += Client_timeoutevent;//注册连接超时事件
            client.receiveServerEvent += Client_receiveServerEvent;//注册接收事件
              client.start("127.0.0.1", 8989, false);//启动连接127.0.0.1服务器的8989端口。不需要服务器TOKEN
            System.Threading.Thread.Sleep(1000);
            Console.WriteLine("server link OK:");
            client.send(0x1, "test2017-5-5");//给服务器发送信息,参数1,0x01指令,指令可以设置0-254,其中0x9c与0xff,是保留指令不能使用。参数2:发送string类型的数据。
            Console.WriteLine("send:test2017-5-5");
            Console.ReadKey();
        }

        private static void Client_receiveServerEvent(byte command, string text)
        {
          //command是从服务器发来的指令
          //text是从服务器发来的数据
        }

        private static void Client_timeoutevent()
        {
         //连接超时或断线会启动此事件
            client。Restart(false);//重新连接
        }
 

最后:先运行服务器端,在运行客户端,就能在服务器端看到 test2017-5-5 的输出内容。

空文件

简介

U3D,物联网,web,通用,网关 socket通讯,支持winform,uwp,core,u3d直接引用开发 功能扩展及项目通信解决方法.觉得好用请star. QQ交流群17375149 联系QQ:20573886 nuget可搜索包Weave.TCPClient与Weave.Server 展开 收起
C#
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C#
1
https://gitee.com/ljx5790/universal-Data-Communication-System-for-windows.git
git@gitee.com:ljx5790/universal-Data-Communication-System-for-windows.git
ljx5790
universal-Data-Communication-System-for-windows
weaving-socket
New

搜索帮助

14c37bed 8189591 565d56ea 8189591