gpt4 book ai didi

c# - 串口设备的Webservice

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:30:35 26 4
gpt4 key购买 nike

我想为现在只能在本地使用的应用程序创建一个远程网络服务。此应用程序控制连接在串行端口上的三个设备(每个设备单独控制)。问题是我不知道如何处理设备返回请求数据的回传信息。例如 - 我向运动设备发送移动命令(这非常慢,可能需要一分钟或更长时间)。我可以只在客户端(和服务器端)设置一个大的超时,并在操作完成时返回例如 true/false 还是这是个坏主意?超时时间长的 SOAP 可以吗?另一个问题是 Linux(Ubuntu 9.10、Mono 2.4)上的 Mono 是否足够稳定来制作 Web 服务,或者我应该选择 Java 还是其他语言?

我愿意接受建议。

感谢您的帮助!

最佳答案

使用大超时不是一个好主意。它会浪费服务器和客户端的资源,并且您将无法检测到“真正的”超时条件,例如,当服务器不可用时,在分配的超时到期之前。

你真的有两个选择。第一种是使用轮询。立即从运动请求命令返回,确认命令的接收(而不是命令的完成)。然后定时发送请求,询问命令是否完成。

另一种选择要求客户端能够注册一个回调端点,服务器将在 Action 完成时调用该端点。这使得整个过程异步,但要求客户端能够以服务器模式运行。使用 WCF 很容易做到这一点——但是我不知道此功能在 Mono 中是否可用。

关于c# - 串口设备的Webservice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2620523/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com