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

济南自助建站成都网站建设河马建站

济南自助建站,成都网站建设河马建站,农业种植养殖网站建设,做微博这样的网站网络管控越来越严格#xff0c;老的Mac模式连接的仪器经常断开#xff0c;要么是网络没活动被断开TCP了#xff0c;要么是网络波动无法保持TCP。每次重启仪器控制很麻烦#xff0c;基于之前用M写http服务的基础上改进仪器接口连接。 参照之前实现http服务的逻辑 最终逻辑 …网络管控越来越严格老的Mac模式连接的仪器经常断开要么是网络没活动被断开TCP了要么是网络波动无法保持TCP。每次重启仪器控制很麻烦基于之前用M写http服务的基础上改进仪器接口连接。 参照之前实现http服务的逻辑 最终逻辑 ///要实现客户端断线重连就拷贝此方法到仪器接口仪器主处理函数约定为Main,Main异常记得给ShouldQClient变量设置1或者不捕获异常 ///主侦听函数有线程处理客户端请求循环判断客户端连入 ///启动主侦听 ///d ListenMian^MI.MIF000(mi,Start) ListenMian(mi,startFunName) s IP$li(^dbo.BTMIMachineParameterD(mi),9)s Port$li(^dbo.BTMIMachineParameterD(mi),10)//数据库是服务端i $l(IP) d.u Device READ x .u 0.u Device .//用子线程处理客户端请求.//j DealClient:(:17::) .d Trace^MI.MIF000(mi,新客户端连入本TCP服务,LISSYS).d DealClient(mi).//检查停止标志.i $$Stop^MI.MIF000(mi) q.//GOTO做成循环 .d ListenMian(mi)e d.s IFProgram$lg($g(^dbo.BTMIMachineParameterD(mi)),16).s MainStrd Main^_IFProgram.s ShouldQClient0.//循环执行Main方法直到表标识要退出或者标识变量要退出.f d ..//捕获错误防止Main没捕获错误异常退出了..SET $ZTRAPErrHandleClient,$ECODE //捕获错误开始 ..x MainStr i $$Stop^MI.MIF000(mi)||(ShouldQClient1) qq///当客户端发生错误捕获 ErrHandleClient SET $ZTRAPh 1s ErrCode$ECODEd Trace^MI.MIF000(mi,$TR($ZERROR,^,--)_.错误代码:_ErrCode,当客户端运行)//串口不能读了就重连i ErrCode[READ d .d Trace^MI.MIF000(mi,TCP重连中,尝试重连).d ReconnectServerq 1 ///客户端重连方法实现 ReconnectServer//检查停止标志i $$Stop^MI.MIF000(mi) qc Portc Deviceh 1l -^MILOCK(mi)d Trace^MI.MIF000(mi,移除锁,新起动TCP)s StartStr(startRet) s startRet$$_startFunName_^MI.MIF000(_mi_)d Trace^MI.MIF000(mi,StartStr,新起动TCP调用)s startRetx (StartStr,.startRet)d Trace^MI.MIF000(mi,startRet,新起动TCP返回)//重连失败又尝试这里启动方法和上面一致i startRet d ReconnectServerd Trace^MI.MIF000(mi,成功启动,新起动TCP)q///要实现客户端断线重连就拷贝此方法到仪器接口仪器主处理函数约定为Main,Main异常记得给ShouldQClient变量设置1 ///处理客户端请求 DealClient(mi) //s Device##class(%SYSTEM.INetInfo).TCPName()//客户端输入的数据//s input$PRINCIPAL//s output$IO//s record//u Device:(::M) //标识是否结束客户端处理 s IFProgram$lg($g(^dbo.BTMIMachineParameterD(mi)),16)s ShouldQClient0s MainStrd Main^_IFProgramd Trace^MI.MIF000(mi,循环执行:_MainStr,LISSYS)//循环执行Main方法直到表标识要退出或者标识变量要退出f d .//捕获错误防止Main没捕获错误异常退出了.SET $ZTRAPErrHandleServer,$ECODE //捕获错误开始.x MainStr i $$Stop^MI.MIF000(mi)||(ShouldQClient1) qq///当服务端发生错误捕获 ErrHandleServer SET $ZTRAPh 1d Trace^MI.MIF000(mi,$TR($ZERROR,^,--)_.错误代码:_$ECODE,当服务端运行)q 1 使用方式如下图 数据库当服务端原理 原理就是对Cache做服务端的接口启动一个主侦听来侦听客户端的连接由于是给仪器连接的所以把http服务实现的用进程处理客户端连接就不用进程了因为仪器只有一个在用连接。仪器接口没出错时候主侦听堵塞处理不了新客户端连接也无所谓仪器处理异常后代码又退回到主侦听就能处理新的客户端连入。 数据库当客户端原理 数据库当客户端时候连别人的TCP服务如果异常了就会进入异常捕获这时候调用重连逻辑就能重新起来TCP连接重连不一定成功这时候就进入一直重连的死循环直到成功。重Start之前先关闭之前端口和设备。重连成功后就会跳出重连的死循环继续回到Main的执行上。 此方案不用动连接模式只要改一行接口代码就能支持断开重连解决麻烦的仪器掉线问题
http://www.hkea.cn/news/14388614/

相关文章:

  • 网站 体系遵义住房和城乡建设局官方网站
  • 建设网站需求分析高端网站建设 工业
  • 免费创立网站注册一个公司需要多久
  • 金川做网站公司秦皇岛黄金海岸游玩攻略
  • 如何申请免费网站空间如何申请电商网站
  • 海南省建设监理协会网站新河网吧
  • 常州建设局网站首页建设营销型网站
  • 网站如何做流量赚钱旅游网站建设流程是什么意思
  • 免费建立小程序网站wordpress制作404页面模板
  • 广州的网站建设公司哪家好静态网页模板制作工具
  • 少儿教育网站建设价格网站用户细分
  • 安徽省建设部网站官网今天济南刚刚发生的新闻
  • 桂林建设网站公司公司logo设计图片大全
  • 做企业网站 asp的cms系统哪个好导航到光明城市
  • 信誉好的顺德网站建设qq官方网页版登录
  • 广州站是指哪个站同性恋色做视频网站
  • wordpress audio player 下载网站推广seo设置
  • 如何优化基础建站煤炭网站建设规划书
  • 服务器上给网站做301跳转网站开发课程的建议
  • 山东公司网站开发现在什么app引流效果好
  • 淘宝导航里的链接网站怎么做怎么做一个微信小程序商店
  • 搭建网站平台有前途吗东莞cms建站模板
  • 海洋馆的网站怎么做seo排名优化排行
  • 来年做哪些网站致富冷门行业做网站的优势
  • 男女做暖暖暖网站厦门跨境电商前十
  • 免费制作自己的微网站吗做网站须知
  • 企业建设网站管理制度网站开发有专利吗
  • 对网站建设提建议招聘网站怎么做效果好
  • 进地铁建设公司网站怎么做海淘网站
  • 上海建工网站空间设计师是干什么的