多个客户端控制同一台硬件设备,如何保证客户端之间的同步?

问题描述

目前应用环境:PC上安装监控软件,通过Socket与硬件通讯,获取硬件状态信息,并下发控制指令。预实现应用环境:多台PC上安装监控客户端软件,通过Socket控制同一台硬件,如果某个客户端对硬件下发了控制指令、改变了硬件状态信息,其它客户端能及时获知,并进行硬件状态信息的调整和控制功能的使能。现在想使用C/S架构实现,服务器端直接与硬件通讯,客户端通过服务器端间接和硬件通讯,那么如何保持各个客户端之间的同步呢?例如,对硬件的某个控制功能类似开关,“开”了以后就只能“关”、“关”了以后就只能“开”,假设某个客户端通过服务器的数据库获知该控制处于“关”的状态,发送“开”的命令,而与此同时,另一个客户端也发送“开”的命令,则会产生冲突,如何能避免这种状况的发生呢?

解决方案

解决方案二:
每次执行一个操作之前去请求一下状态每次操作成功之后广播所有的客户端通知其状态改变
解决方案三:
采用TcpBinding,一个人操作后通知其他人Update典型的Observer模式
解决方案四:
用WCF,就可能很好的解决任何客户端都调用WCF,状态由WCF来控制并转发给其他客户端,其使某个客户端获取的状态暂时不正确,当向服务器发送请求操作时,则由服务器纠正(如当A客户端已经成功开了,但B客户端的状态为"关",当B客户端向服务器请求"开"时,则由服务器告诉B不能开,并更新状态到B或由B重新获取状态).
解决方案五:
而在服务器端中WCF使用状态操作加锁(如lock锁),就免除多个客户端同时(并发)操作某种状态.
解决方案六:
该回复于2012-03-05 22:15:17被版主删除
解决方案七:
该回复于2012-03-06 08:45:51被版主删除
解决方案八:
一个办法是调用服务端的webservice方法进行控制,方法加上mutex并发控制,这样可以保证一个时间只有一个客户能够访问
解决方案九:
强烈建议用webservice方法进行控制
解决方案十:
用WCF吧,对于分布式较好

时间: 2024-10-27 01:22:54

多个客户端控制同一台硬件设备,如何保证客户端之间的同步?的相关文章

微信硬件设备接入接口协议

微信硬件设备接入接口协议 (公开使用)Tencent Technologies Co., Ltd.腾讯科技有限公司All rights reserved产品版本 密级V2.0Beta 请输入密级:公开Tencent.腾讯科技有限公司项目名称: 微信硬件设备接入接口协议 共 页第 2 页 共 29页第 3 页 共 29页 文档历史记录第 4 页 共 29页部门 微信产品部\开放平台中心\平台开发组\架构优化组起始人员 koukoutan文档版本 描述 撰写人员 更新时间V1.0Beta 初稿 ko

c++-本地电脑连接着设备,我想远程用C++编的控制软件控制这台设备,怎样才能获得这台设备的相关信息?

问题描述 本地电脑连接着设备,我想远程用C++编的控制软件控制这台设备,怎样才能获得这台设备的相关信息? 本地电脑连接着设备,我想远程用C++编的控制软件控制这台设备,怎样才能获得这台设备的相关信息? 解决方案 拿到设备相应的api接口即可,进行对应的编程控制. 解决方案二: http://blog.csdn.net/ouyang_linux007/article/details/7637141

按钮-网页要实现控制一台遥控车(硬件)的行走路径(行为),请问如何实现?

问题描述 网页要实现控制一台遥控车(硬件)的行走路径(行为),请问如何实现? 前几天买了一台遥控车玩具,只有一个遥控手柄,不大方便. 我想如果能搞个网页然后坐在电脑前或者拿出手机打开浏览器登录网页,网页左面是遥控车上装载的摄像头传过来的视频事实画面,右面是行为操控按钮,这样该有多好玩啊. 解决方案 你买的是啥遥控车-不好实现 解决方案二: 遥控车是脉冲信号,电脑无法模拟施放出这种信号,除非你接上某种外设,能释放脉冲信号,但是如何将数字信号转换成脉冲信号,这是个问题

搜索账号 排行榜客户端 2014全球可穿戴设备市场应用报告分析

BI分析师托尼·达诺瓦(Tony Danova)发布的<可穿戴应用>报告中指出,可穿戴应用的生态系统非常碎片化,这是应用少的原因之一,但要普及必须诞生一些杀手级应用.谷歌和苹果将主导这个市场. 以下为报告全文: 一.要点: 1) -可穿戴应用的生态系统非常碎片化.最近推出了很多全新的可穿戴设备,还有更多产品即将面世,但所有设备都运行于不同的平台.开发人员为这些环境打造应用成为一种痛苦,而应用程序正是使这些可穿戴设备值得穿戴的关键.即便是对于在智能手机和平板电脑领域主打Android的三星而言,

智能硬件设备八大安全问题分析

目前,IoT 技术还处于起步阶段,与金融.电子商务等其他行业相比,安全性尚未得到充分理解和明确定义.开发一款IoT 产品时,不论是像可穿戴设备这样的小型产品,还是像油田传感器网络或全球配送作业这样的大型IoT部署,从一开始就必须考虑到安全问题.要了解安全的问题所在,就需要了解IoT 设备的攻击方法,通过研究攻击方法提高IoT产品的防御能力. 作为国内最早从事智能硬件安全攻防研究的团队,基于长期的智能硬件安全攻防实践,360攻防实验室对智能硬件设备的安全隐患进行了系统的分析和梳理,总结了智能硬件设

ios开发 分享到qq空间-使用pc端控制多台手机微信

问题描述 使用pc端控制多台手机微信 使用一台电脑或者一个pad可以控制十几部手机的微信 聊天,朋友圈等.该怎么来实现 解决方案 有微信公众号客户端,可以在windows pc上多开的.当然你也可以用api自己开发这样的程序.

“红遍全球”的恶意软件 Mirai 换了个新马甲,这次瞄上我国2亿多台IoT设备

在一年前的今天(2016.10.21),美国发生了一起规模极大的互联网瘫痪事故,多个城市的主要网站被攻击,人们发现连经常登录的推特.亚马逊.Paypal 等在内的大量网站连续数小时无法正常访问. 事后查明,一种名为"Mirai"的恶意程序,通过扫描智能摄像头,尝试默认通用密码(比如懒人经常设置的123456.admin--)进行登录操作,一旦成功即将这台物联网设备作为"肉鸡"纳入到僵尸网络里,进而操控其攻击其他网络设备,当控制的设备达到一定数量级后,进行 DDoS

android开发-Android,类似qq账号在另一台手机设备登录了,强迫当前账号下线

问题描述 Android,类似qq账号在另一台手机设备登录了,强迫当前账号下线 如题,怎么实现这个功能.网上查了些资料-有人说用推送,判断Token-有人说uuid什么的-还有说禁用接口的,我也看混乱了-我没一个思路.菜鸟程序猿求师兄师姐们教教一个思路,这过程怎么实现的-最好有个demo.我的邮箱是nerermore1024@sina.com.真心求教,良辰必有不少于500字的感谢信-- 解决方案 http://blog.csdn.net/yyywyr/article/details/38615

硬件设备之外 苹果已落后谷歌和Facebook?

据国外媒体报道,苹果已经在设备制造上取得了无与伦比的成功.苹果公司的产品设计出众,从内而外都因设计而昂贵.用户会坚持使用苹果公司的产品,直至苹果公司再发布新的产品.以硬件设备为主的策略使得苹果成为世界上最有价值的科技公司. 然而,即便是苹果,也必须改变,苹果公司首席执行官蒂姆·库克(Tim Cook)在本周举行的全球开发者大会上也指出了这一点.苹果公司深刻认识到,公司不能拘泥于只售卖硬件设备,因为诸如销量如日中天的iPhone手机也面临着销量下滑的状况.此外,在数字服务市场,苹果的业务已经落后于