与 Windows 服务的 XML-RPC 通信
我正在为我的工作场所开发一个系统,可以跟踪计算机实验室中的违规用户。我有一个系统来跟踪用户(他们的登录名是什么,以及可用的 vnc 终端)。该系统使用 Windows 服务来收集有关登录实验室计算机的用户的信息。它响应在前台计算机上运行的主程序,并使用包含有关用户会话等数据的一行响应。但是,我希望有一个网络应用程序(WordPress 插件)能够通过我的计算机查询这些实验室计算机。安装在它们上的服务用于:获取屏幕截图、发送消息弹出窗口(因为 net send
在网络上被阻止),也许还有更多功能。
我使用的协议是这样的:
- 前台发送一个带有单个单词
rollcall
的 UDP 数据包, - 实验室机器使用 TCP 连接返回有关用户会话的数据进行响应
- 数据包响应:
<计算机名称>;ROLLCALL;<用户名>;<域>
- 数据包响应(alt):
<机器名称>;<用户名>;<域>;<表号>
- 数据包响应:
但是,我不确定是否应该从网络上这样查询。我更愿意尝试 XML-RPC 通信之类的方法,但我找不到任何有关如何在 Windows 服务应用程序(非 ASP.NET)中完成此操作的示例。
有人有任何建议吗?我更喜欢 XML-RPC 协议,因为我想试验和学习 XML-RPC。
I'm working on a system for my workplace that can track offending users in a computer lab. I have a system in place to track users (what their login name is, and vnc terminals available). This system uses a Windows Service to gather information about users logged into the lab computers. It responds to a master program running at a front-desk machine with a one line response containing the data about user sessions, etc. However, I would like to have a web app (WordPress plugin) be able to query these lab machines through my service installed on them to: obtain screenshots, send message popups (because net send
is blocked on the network), and maybe more features to come.
The protocol I'm using is this:
- Front Desk sends out a UDP packet with a single word
rollcall
- Lab Machines respond using TCP-connect back with data about user sessions
- Packet response:
<machine name>;ROLLCALL;<username>;<domain>
- Packet reponse(alt):
<machine name>;<username>;<domain>;<table number>
- Packet response:
However, I'm not sure if I should be querying like this from the web. I'd prefer to try something like XML-RPC communication, but I can't find any examples of how to accomplish this in a Windows Service Application (non-ASP.NET).
Does anyone have any recommendations? I'd prefer an XML-RPC protocol because I'd like to experiment and learn XML-RPC.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 WCF 创建在每个系统上运行的“Web 服务”。 XML-RPC 就像 .net 2.0 中使用的 Remoting,现在我们使用 WCF,因为它更强大。您可以查看 Microsoft 有关远程处理的文档以了解更多信息。
You can use WCF to create a "web service" that runs on the each system. XML-RPC is like Remoting that was used for .net 2.0 Nowadays we use WCF since its more powerful. You can check Microsoft's documentation about remoting for more info.