gpt4 book ai didi

c# - WinForms 服务器和客户端之间的通信

转载 作者:行者123 更新时间:2023-11-30 13:35:24 24 4
gpt4 key购买 nike

我有 50 多台信息亭式计算机,我希望能够从一台计算机按需而不是间隔地获取状态更新。这些计算机相对于请求状态的计算机位于 LAN 上。

我研究了 WCF,但看起来我需要安装 IIS,我宁愿不在 50 多个 Windows XP 机器上安装 IIS——所以我认为除非可以让 WinForm 托管网络服务,否则就不需要使用网络服务了?

我还研究了 System.Net.Sockets 的使用,甚至得到了一个几乎没有功能的原型(prototype),但我觉得我的技能不足以使其成为一个可靠的系统。考虑到这条道路,我需要学习更多有关套接字编程和线程的知识。

这些盒子运行的是 .NET 3.5 SP1,因此我在 .NET 版本中具有完全的灵 active ,但我想坚持使用 C#。

实现它的最佳方法是什么?我应该硬着头皮学习更多套接字,还是 .NET 有更好的方法来处理这个问题?

编辑:我打算采用双向通信,直到我意识到我需要的只是一种单向通信。

编辑 2:我避免使用传统的服务器/客户端并采用相反的方式,因为我想避免消耗太多带宽并且不确定我在谈论什么样的开销。我还希望能够更好地控制各个售货亭。在查看之后,我认为我仍然可以使用 WCF 并通过 IP 连接(我不知道我可以通过 IP 连接,我想我必须添加 50 个 Web 服务或其他东西)。

最佳答案

WCF 不必托管在 IIS 中,它可以作为控制台应用程序或 Windows 服务托管在您的 Winform 中。你可以让每台电脑都在winform里面托管自己的服务,然后在自己的电脑上写一个程序调用每台电脑的服务来获取状态信息。

另一种方法是在你自己的电脑上托管一个服务,让50多台电脑在状态更新后调用该服务,你可以为该服务使用一个数据库来保存每个节点的状态数据网络内。此选项更易于维护和扩展。

附言WCF旨在取代.net remoting,备选方案可以是net.tcp binding或net.pipe

关于c# - WinForms 服务器和客户端之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/237836/

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