在多台 PC 上运行程序
我已经掌握了该程序的一些基本编码,但我确实需要一些帮助。我的目标是让网络中的多台电脑发出警报,指示需要完成某项任务。任何收到此警报的人都可以停止它,完成任务并记录他们所做的事情。在网络中实现这一目标的最佳方法是什么?但并不是网络中的每台计算机都会运行这个程序,只有少数计算机会运行。
I have some of the basic coding down for the program but I do need assistance with something. My goal is to have an alarm go off on multiple PCs in a network indicating that a certain task needs done. Anyone who receives this alarm may stop it, complete the task and log that they did that. What would be the best way to accomplish this in a network? But not every computer in the network will be running this program, just a few.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以让应用程序(在网络中的某些计算机上运行)注册以参与多播地址。这将允许网络中的机器无需中央服务器即可交换数据。
更多信息:
IP 多播:http://en.wikipedia.org/wiki/Multicast
多播在 C# 中:(CodeProject) http://www.codeproject.com/KB/IP/ multicast.aspx
示例项目:http://www.nmsl. cs.ucsb.edu/MulticastSocketsBook/csharp_send_receive.zip
您可以让生成警报的程序发送多播消息
包含其他计算机处理任务所需的所有信息。
可以执行作业的计算机发回消息和警报应用程序
然后通过向该客户端发送“继续执行”消息来决定哪个“客户端”最终将执行该任务。只有这样,“客户端”应用程序才会真正执行任务并在完成时报告。
只是一个想法。
You could have the application (which runs on some computers in the network) register to participate in a Multicast address. This would allow the machines in the network to exchange data without the need for a central server.
More information:
IP Multicasting: http://en.wikipedia.org/wiki/Multicast
Multicasting in C#: (CodeProject) http://www.codeproject.com/KB/IP/multicast.aspx
Example project: http://www.nmsl.cs.ucsb.edu/MulticastSocketsBook/csharp_send_receive.zip
You would have the program that generates the alarm send out a multicast message
containing all the information required by the other computers to handle the task.
The computers who can execute the job send back a message and the alarm application
then decides which "client" will eventually execute the task by sending that client a "go ahead and do it" message. Only then the "client" application would actually perform the task and report back when it's finished.
Just an idea.
您还可以在管理服务器上创建一个网页,访问用户可以在其中注册警报。这意味着您开发并分发到一台计算机而不是x 台计算机。然后,警报会在您的网络浏览器中响起,用户也会做出响应。
You could also make a web page on the management server where the visiting users can register for alarms. This would mean that you develop and distribute to one computer instead of x number of computers. The alarm would then go off in your web browser, where the users would also respond.
您可以让一个进程在套接字上监听其他 PC,这会触发警报。
http:// /www.devarticles.com/c/a/C-Sharp/Socket-Programming-in-C-sharp-Part-II/1/
you can have a process listen on the other PCs on a socket, which triggers the alarm.
http://www.devarticles.com/c/a/C-Sharp/Socket-Programming-in-C-sharp-Part-II/1/
在企业环境(或者可能在某些学校)中,这是一个非常常见的 IT 问题。您可以使用他们的 IT 部署/策略执行软件来分发该程序。
如果您可以控制网络环境,则可以以任何合适的方式分发它。正如帕特里克回答的那样,您订阅警报的内联网网页是有意义的。
通过网络进行推送似乎不可靠,并且如果您将程序移动到不太友好的网络中,肯定会激怒 IT 人员:) 另外,如果您的网络是互联网,那么这根本就是错误的工作模型。
In a corporate environment (or possibly some schools), this is a very common IT problem. You'd use their IT deployment/policy enforcement software to distribute the program.
If you're in control of your network environment, then distribute it however seems fit. An intranet web page where you subscribe to alerts makes sense, as Patrick answered.
Doing a push across the network seems unreliable, and would definitely anger IT staff if you ever moved your program into a less friendly network :) Plus, it simply is the wrong model for the job if your network is the internet.