当前位置: 首页 > news >正文

网站支付平台是怎么做的/外贸如何做网站推广

网站支付平台是怎么做的,外贸如何做网站推广,网站建设费用 开办费,微信公众号免费导入wordpress物联网涉及到各种设备、各种传感器、各种数据源、各种协议,并且很难统一,那么就要有一个结构性的框架解决这些问题。SSIO就是根据时代发展的阶段和现实实际情况的结合产物。 各种数据信息,如下图: 解决方案,配合SIO使用…

      物联网涉及到各种设备、各种传感器、各种数据源、各种协议,并且很难统一,那么就要有一个结构性的框架解决这些问题。SSIO就是根据时代发展的阶段和现实实际情况的结合产物。

      各种数据信息,如下图:

 

 

          解决方案,配合SIO使用:

一、SSIO特点

  • 轻型高性能通信框架,适用于多种应用场,轮询模式、自控模式、并发模式和单例模式。
  • 不光是通讯框架,是设备驱动、IO通道、控制模式场景的协调机制。
  • 支持协议驱动器,可以按规范写标准协议和自定义协议。
  • 支持发送数据缓存器,支持命令缓存重发和按优先级别发送。
  • 支持协议过滤器,按规则筛选数据,并且可以承继接口,自定义过滤方式。
  • 支持接收数据缓存器,可以缓存不符合过滤器的数据,和下次接收数据进行拼接。
  • 支持按设备命令优先级别进行调度设备,保证有高级别命令的驱动及时发送。
  • 支持一个设备驱动,同时支持串口和网络两种通讯方式,可以监视IO通道数据。
  • 支持一个设备驱动,在网络通讯时可以支持TCP Server和TCP Client两种工作模式。
  • 支持多设备共享同一IO通道进行通讯。
  • 支持定时清理超时的网络IO通道。
  • 支持显示视图接口,满足不同显示需求。
  • 支持服务组件接口,可以自定义完成OPC服务、4-20mA输出、LED大屏显示、短信服务、以及多功能网关服务。
  •  支持创建多服务实例,完成不同业务的拆分。
  •  支持跨平台部署,可以运行在Linux和Windows系统。

二、SSIO发布到NuGet平台

三、搜索SSIO

四、安装SSIO

五、事例代码(Demo)

    Demo下载地址:https://github.com/wxzz/ServerSuperIO/tree/2.0

1.客户端(发送文件)

 

        static void SendFile(){if (!System.IO.File.Exists(_file)){Console.WriteLine("文件不存在:"+_file);return;}FileStream fs = null;try{Console.WriteLine("开始传输>>");string fileName=DateTime.Now.ToString("yyMMddHHmmss") + ".txt";int bufferSize = _sendBufferSize;byte[] sendBuffer = new byte[bufferSize];fs = new FileStream(_file, FileMode.Open,FileAccess.Read,FileShare.Read);long length = fs.Length;int count = 0;Stopwatch watch = new Stopwatch();watch.Start();while (length > 0){int sendNum = fs.Read(sendBuffer, 0, sendBuffer.Length);byte[] package = GetDataPackage(fileName,sendBuffer, sendNum);count+=_tcpClient.Client.Send(package, 0, package.Length, SocketFlags.None);length -= sendNum;float percent = ((fs.Length - length)/(float) fs.Length)*100.0f;Console.WriteLine("已传:" + percent.ToString("0.00")  + "%");}watch.Stop();Console.WriteLine("传输完毕!总数:" + count.ToString()+",耗时:"+ watch.Elapsed.TotalSeconds.ToString(CultureInfo.InvariantCulture));}catch{throw;}finally{if (fs != null){fs.Close();fs.Dispose();}}}static byte[] GetDataPackage(string fileName,byte[] sendBuffer, int sendNum){byte[] sendPackage = new byte[sendNum + 24];sendPackage[0] = 0x35;sendPackage[1] = 0x35;string code = "0001";byte[] codeBytes = System.Text.Encoding.ASCII.GetBytes(code);Buffer.BlockCopy(codeBytes, 0, sendPackage, 2, 4);byte[] fileBytes= System.Text.Encoding.ASCII.GetBytes(fileName);Buffer.BlockCopy(fileBytes, 0, sendPackage, 6, 16);Buffer.BlockCopy(sendBuffer, 0, sendPackage, 22, sendNum);sendPackage[sendPackage.Length - 2] = 0x33;sendPackage[sendPackage.Length - 1] = 0x33;return sendPackage;}

 

 2.设备驱动

//设备驱动public class ReceiveFileDriver:RunDevice{private Dynamic _Dyn;private Parameter _Parameter;private Protocol _Protocol;public ReceiveFileDriver() : base(){_Dyn = new Dynamic();_Parameter = new Parameter();_Protocol = new Protocol();}public override void Initialize(int devid){this.Protocol.InitDriver(this, new FixedHeadAndEndReceiveFliter(TransFileDriver.Protocol.Head, TransFileDriver.Protocol.End));    //初始化协议驱动}//省略......
}//协议驱动,并处理数据
public class Command : ProtocolCommand
{public Command(){}public override string Name{get { return "writefile"; }}public override object Analysis(byte[] data, object obj){try{//count += data.Length - 24;//Console.WriteLine(count.ToString()+","+data[0].ToString() + "," + data[data.Length - 1].ToString());string path = Path.Combine(Environment.CurrentDirectory, "rev");if (!System.IO.Directory.Exists(path)){System.IO.Directory.CreateDirectory(path);}string fileName = System.Text.Encoding.ASCII.GetString(data, 6, 16);path=Path.Combine(path, fileName);using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Write)){fs.Seek(fs.Length, SeekOrigin.Current);byte[] content = new byte[data.Length - 24];Buffer.BlockCopy(data, 22, content, 0, content.Length);fs.Write(content, 0, content.Length);fs.Flush();}}catch{return -1;}return 0;}public override byte[] Package(string code, object obj){throw new NotImplementedException();}}

 3.宿主程序

 static void Main(string[] args)
{ReceiveFileDriver dev = new ReceiveFileDriver();dev.DeviceParameter.DeviceName = "设备4";dev.DeviceParameter.DeviceAddr = 0;dev.DeviceParameter.DeviceCode = "0001";dev.DeviceParameter.DeviceID = 0;dev.DeviceDynamic.DeviceID = 0;dev.DeviceParameter.NET.RemoteIP = "127.0.0.1";dev.DeviceParameter.NET.RemotePort = 9600;dev.CommunicateType = CommunicateType.NET;dev.Initialize(0);IServer server = new ServerFactory().CreateServer(new ServerConfig(){ServerName = "接收文件服务",ListenPort = 6699,NetReceiveBufferSize = 2048,ControlMode = ControlMode.Self,SocketMode = SocketMode.Tcp,DeliveryMode = DeliveryMode.DeviceCode,StartReceiveDataFliter = true,ClearSocketSession = false,});server.AddDeviceCompleted += server_AddDeviceCompleted;server.DeleteDeviceCompleted += server_DeleteDeviceCompleted;server.Start();server.AddDevice(dev);while ("exit" == Console.ReadLine()){server.Stop();}
}

 六、实验效果

 

      两天的时间,将近3GB的数据信息,稳定性、扩展性都非常不错。

 

 

1.[连载]《C#通讯(串口和网络)框架的设计与实现》

2.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍

2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案

3.C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)

5.ServerSuperIO开源地址:https://github.com/wxzz/ServerSuperIO

物联网&集成技术(.NET) QQ群54256083

转载于:https://www.cnblogs.com/lsjwq/p/5787292.html

http://www.lbrq.cn/news/817993.html

相关文章:

  • 商城网站的运营/郑州做网站的大公司
  • 网站舆论建设工作总结/竞价点击软件排名
  • 上海网站建设的价/百度推广是什么工作
  • 上海网站排名提升/2345手机浏览器
  • 游戏推广网站制作/seo能从搜索引擎中获得更多的
  • 旅游网站建设规划书模板下载/网站设计与制作
  • 去菲律宾做it网站开发/网站外贸推广
  • jsp网站建设项目实践/沈阳市网站
  • 买了香港主机后建站 写一个网站维修页面/爱站网关键词长尾挖掘
  • 网页制作大概需要多少钱/郑州seo课程
  • 沈阳网站建设报价/重庆关键词搜索排名
  • 想买个服务器做网站/如何免费做网站网页
  • 番禺有经验的网站建设/aso优化
  • 只做英文网站 域名有什么要求/昆明网络推广优化
  • 免费app软件/网站关键词排名优化电话
  • 网页制作与网站建设广州/网络游戏推广平台
  • 高质量摄影作品网站/贵州快速整站优化
  • 山东建设厅网站/游戏加盟
  • 域名举例/seo推广方法
  • 网站备案投诉/江苏关键词推广seo
  • 长沙网站建设icp备/专业的网页制作公司
  • 东莞网站建设做网站/网络推广怎么做?
  • 网站设计教程及在线模拟器/免费外贸接单平台
  • 佛山视频网站搭建公司/营销型网站建设的价格
  • 大连做公司网站哪家好/网站优化方式有哪些
  • 纯jsp做的留言板网站/哪里有免费的网站推广软件
  • 做曖視頻网站/企业网站源码
  • 大学生婚恋网站策划书/女排联赛最新排行榜
  • 商城网站建设信息/千万别手贱在百度上搜这些词
  • 上海正规做网站公司电话/seo外包公司优化
  • Python - 100天从新手到大师 - Day6
  • # JsSIP 从入门到实战:构建你的第一个 Web 电话
  • ts-node 深入全面讲解
  • xLua和C#交互
  • HTML 音频/视频
  • Cacti 前台命令注入漏洞(CVE-2022-46169)