找回密码
 立即注册

QQ登录

只需一步,快速开始

一鹏

高级会员

76

主题

508

帖子

1079

积分

高级会员

积分
1079
一鹏
高级会员   /  发表于:2023-7-19 20:55  /   查看:898  /  回复:7
100金币
如题,我想在家里做个中央控制系统,需求是做个页面,手机或平板访问之后,可以用来在页面端控制局域网的设备开关或者调节音量之类


目前是做了个这样的界面,通过界面添加设备,在上边有个按钮开关,用于打开或关闭设备
设备那边,可以是两种方式控制中的任意一种
1 通过手机或平板所在的局域网,在客户端页面里给设备指定端口发送udp协议的命令,优先使用这种方式,因为这样服务器不必在本地,而被控设备与页面端在一个局域网即可使用
2 页面中的按钮,触发服务端命令,发送udp命令到指定ip,这种控制方式,活字格服务器必须要在本地才可以实现了,因为要与被控设备在同一局域网才行

目前看,是没法直接在页面端直接发送udp协议的数据了,目前我知道是可以发送tcp协议的数据。
写到这里,好像有思路了,比如,在添加设备时,登记ip和端口,以及支持的命令,在界面中显示出来命令,或者弹出窗口显示命令按钮界面,然后把ip、端口号、命令以服务端命令的参数方式传递给服务器,然后位于局域网的服务器运行一个python程序或者linux程序,把这些参数做为这个命令行程序的参数运行一次,命令行程序每次调用完自动退出,似乎这样就可以实现了,不过这样得写个命令行下调用的程序

看看各位大神有没有什么思路可以实现这种功能呢?
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

用外联数据库,将任务和参数写进数据库,弄个程序每隔1秒钟检测数据库,看有没有新的执行任务,这样服务端也就不用在本地了。

7 个回复

倒序浏览
最佳答案
最佳答案
趋势
银牌会员   /  发表于:2023-7-19 20:55:17
来自 5#
本帖最后由 趋势 于 2023-7-20 13:56 编辑

用外联数据库,将任务和参数写进数据库,弄个程序每隔1秒钟检测数据库,看有没有新的执行任务,这样服务端也就不用在本地了。
回复 使用道具 举报
一鹏
高级会员   /  发表于:2023-7-19 21:21:14
2#
8个人查看了我的帖子,但是没有人回复呀
回复 使用道具 举报
一鹏
高级会员   /  发表于:2023-7-19 22:08:07
3#
刚才测试调用服务端命令ping 并且把一个ip和-t参数传递过去,成功运行了ping指定ip的操作,但是这样有个问题,ping不结束,服务端命令就在等这个程序,直到结束或者超时,有没有设置可以不等待执行结果呢?或者类似于多线程操作,可以继续执行其它命令,比如再次调用这个程序,频繁多次调用同一个程序,但参数可能不同或者相同
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2023-7-20 08:55:10
4#
活字格目前确实只支持TCP的,感觉UDP可能要写WebAPi来做了,
祭出代码应该没问题

创建服务端Web API - 活字格V9帮助手册 - 葡萄城产品文档中心 (grapecity.com.cn)

代码不太懂,给您百度了一下
C#实现udp点对点通信的完整示例_c# udp发送数据_hyq106的博客-CSDN博客

评分

参与人数 1满意度 +5 收起 理由
一鹏 + 5

查看全部评分

回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2023-7-20 17:31:28
6#
趋势 发表于 2023-7-20 13:52
用外联数据库,将任务和参数写进数据库,弄个程序每隔1秒钟检测数据库,看有没有新的执行任务,这样服务端 ...

感谢分享,一看就是有经验的大佬~
回复 使用道具 举报
一鹏
高级会员   /  发表于:2023-7-23 15:17:34
7#
趋势 发表于 2023-7-20 13:52
用外联数据库,将任务和参数写进数据库,弄个程序每隔1秒钟检测数据库,看有没有新的执行任务,这样服务端 ...

我考虑过这种方式,可是这种方式的效率和及时性真是差太多了
不过,目前为止,这个是当前最容易实现的方式了
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2023-7-24 09:45:51
8#
感谢大家对活字格的支持。
后面有问题,欢迎继续发新帖交流
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部