问题标签 [client-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - WCF:我应该如何在客户端和服务器中维护合同类?
我正在开发一个带有服务器和客户端的 WCF 应用程序(自然)。在服务器项目中,我定义了具有合同属性的类。
现在,当服务器准备就绪时,我添加了服务引用并为我创建了代理。我用过它,它确实工作得很好。
我想问的问题是,如果我创建一个包含具有合同属性的类定义的通用 DLL 并将其用于服务器和客户端(而不是使用 Visual Studio 为客户端生成的类),是否可以。如果我使用通用类,我不必担心在自动代码生成时泛型集合被转换为数组。傻吗?是否可以?以前有人做过吗?这样做可以吗?
部署方案是这样的,即安全 Intranet 中的客户端数量有限(很少),并且只要服务器发生更改,就可以更新现有客户端。
c# - 分布式应用模型,服务器和多个客户端(客户端可以在服务器上运行)
我有一个我正在设计的系统,我们使用 4 台我们在内部制造的具有 16 个串行端口(db-9 RS232)的专用 PC 我需要同时与 64 个单元(4x16)通信并管理通信。 这是我想出的模型,我正在征求反馈
服务器: 在一个系统上运行并协调客户端应用程序。维护一个主状态机并确保客户端与该状态机同步。(例如,所有单元都执行任务 A,当最后一个报告完成时,所有单元都执行任务 B)。
通过.net 远程通信?WCF?
客户端: 可以与服务器在同一系统上运行。管理所有 IO。管理实际任务执行的业务逻辑(坏主意?)通过 Remoting/WCF通过通知事件(例如 INotifyPropertyChanged)报告状态。
我从未使用过 .net 远程处理或任何类型的分布式应用程序,所以我在这方面完全是新手,但我确实学得很快。 在这一点上,文学和社区建议将不胜感激。
client-server - 一个复杂查询与多个简单查询
实际上更好的是什么?让具有复杂查询的类负责加载例如嵌套对象?或者具有负责加载简单对象的简单查询的类?
对于复杂的查询,您不必去数据库,但该类将承担更多责任。
或简单的查询,您需要更多地访问数据库。然而,在这种情况下,每个类都将负责加载一种类型的对象。
我所处的情况是加载的对象将被发送到 Flex 应用程序(DTO)。
apache-flex - DDD 和客户端/服务器应用程序
我想知道你们中是否有人在客户端/服务器应用程序中成功实现了 DDD,并想分享一些经验。
我们目前正在开发 Flex 的智能客户端和 Java 的后端。在服务器上,我们有一个向客户端公开的服务层,它提供 CRUD 操作以及其他一些服务方法。我知道在 DDD 中,这些服务应该是存储库,并且服务应该用于处理不适合存储库的用例。现在,我们在接口后面的客户端上模拟这些服务,并通过 IoC 容器注入实现(Webservices、RMI 等)。
所以出现了一些问题:
- 服务器应该向客户端公开存储库还是我们需要某种外观(例如能够处理安全性)
- 客户端是否应该实现存储库(以及一般的 DDD?)知道在客户端中,大部分逻辑与视图相关,而真正的业务逻辑存在于服务器上。与服务器的所有通信都是异步发生的,我们在客户端上有一个单线程编程模型。
- 如何将客户端映射到服务器对象,反之亦然?我们尝试了 DTO,但又恢复为公开对象的状态并直接映射到它们。我知道这被认为是不好的做法,但它为我们节省了大量时间)
总的来说,我认为新一代应用程序将随着 Flex、Silverlight、JavaFX 的发展而出现,我很好奇 DDD 是如何融入其中的。
c# - 客户端/服务器在 1 次连接后都放弃
我正在编写一个客户端/服务器(你们中的许多人可能已经知道了!)。服务器将向客户端发送数据。但是,客户端可以连接一次,之后一旦连接终止,它就不会再次尝试连接。同样,一旦服务器发送了它的消息,它将忽略未来的连接尝试。
服务器:
客户:
抱歉,代码量很大。无论如何可以指出我哪里出错了?
web-applications - Web 应用程序和客户端/服务器应用程序有什么区别?
我从另一个问题中得到了这个。
在 sqlite 的适当用途下,它具有:
SQLite 运行良好的情况
•网站
SQLite 通常可以很好地作为中低流量网站(也就是说,所有网站的 99.9%)的数据库引擎。当然,SQLite 可以处理的网络流量取决于网站使用其数据库的程度。一般来说,任何每天点击量少于 100K 的网站都可以使用 SQLite。10 万次点击/天的数字是保守估计,而不是硬性上限。SQLite 已被证明可以处理 10 倍的流量。
另一个 RDBMS 可能工作得更好的情况
•客户端/服务器应用程序
如果您有许多客户端程序通过网络访问公共数据库,则应考虑使用客户端/服务器数据库引擎而不是 SQLite。SQLite 将在网络文件系统上工作,但由于与大多数网络文件系统相关的延迟,性能不会很好。此外,许多网络文件系统实现的文件锁定逻辑包含错误(在 Unix 和 Windows 上)。如果文件锁定不能正常工作,则两个或多个客户端程序可能同时修改同一数据库的同一部分,从而导致数据库损坏。因为这个问题是由底层文件系统实现中的错误引起的,所以 SQLite 无法阻止它。
一个好的经验法则是,在通过网络文件系统从多台计算机同时访问同一个数据库的情况下,您应该避免使用 SQLite。
我的问题:
我将在这里展示我的无知,但这两者有什么区别?
java - 在上传之前处理文件
我得到了一张带有 SWFUpload 的表格。上传到服务器的文件在服务器端进行转换(视频被压缩,图像被调整大小等)
问题是 - 我可以将一些功能委托给客户端(如调整图像大小),为用户节省一些带宽。
web-services - 在 Web 服务模型中,是否仍然像客户端-服务器模型那样基本上有 3 层?
基本的客户端-服务器模型(即使使用有问题的接口实现)有一个表示层、一个业务层和一个数据层。使用 web 服务模型的目录和发现方法是否被认为是一个全新的层?我认为发现层实际上只是扩展了数据层的作用,以包含有关可以在何处找到服务的信息。我正在努力理解 web 服务和 MVC 框架之间的相互作用,并且我试图从更大的角度理解目录和发现组件适合该框架的位置。
.net - .net activeX 等价物
是否有 ActiveX 的纯 .NET 替代品?我在问是否有办法让我编写一个厚客户端控件,以便在.NET 的网页中加载并与之交互,没有 com。
编辑:我不想在纯 .NET 中使用 ActiveX,我想要 ActiveX 的 .NET 替代品。
c# - 服务器应该如何向富客户端推送数据
我正在编写一个简单的会计程序,由几个 C# winform 客户端和一个将数据读/写到数据库中的 java 服务器应用程序组成。其中一项要求是所有 C# 客户端都应从服务器接收更新。例如,如果用户 a 从他的 C# 客户端创建新发票,其他用户应该从他们的客户端看到这个新发票。
我的经验主要是 Web 开发,我不知道用 C#s 客户端和 Java servlet 服务器满足这一要求的最佳方法是什么。
我最初的想法是使用 Glassfish 运行 ActiveMQ 并使用消息传递 pub/sub 方法,以便可以将更新推送到 C# 客户端。我将创建不同的主题,如 newInvoice、cancelInvoice 等,以区分消息类型。每条消息将只包含以 JSON 编码的对象。
但在我看来,这涉及到相当多的工作。鉴于我的用户群非常小(只有 3 或 4 个并发用户),在我看来应该有一些更简单的解决方案。(我不熟悉套接字编程:))
我知道这是一个客户端-服务器编程 101 问题,但如果任何有经验的程序员可以为我指出一些简单的解决方案,那就太好了。