问题标签 [multi-user]
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.
c# - 从单用户桌面应用程序迁移到多用户开发
我试图在我的晚上和周末引导一个微型 ISV。我有一个处于开发早期阶段的应用程序。它是用 C# 编写的,主要由代表问题域的类的集合组成。此时没有 UI 或数据持久性。(我什至还没有在 .NET 平台上安顿下来。它足够早,我可以更改为 Java 或本机可执行文件)
我对这个应用程序的目标是它将是一个混合的单用户/偶尔连接的多用户应用程序。单用户部分将使用嵌入式数据库进行本地存储。这是我熟悉的开发模式。
多用户部分是我没有经验的地方。我知道每个用户都需要两件事:
与公共互联网上的远程服务器进行基于 IP 的通信
用户认证和远程数据存储
我知道我希望该服务器提供哪些服务(信息查找和用户到用户的交易),但除此之外,我已经不在我的范围内了。该服务器需要由第三方托管,因为我没有资源来运行我自己的服务器。请记住,在可预见的未来,我将是这个项目的唯一开发者:
哪些技术将是实现上述两件事的最简单方法?直接访问数据存储/数据库还是隔离它更好?我应该实施网络服务吗?如果是这样,SOAP 还是 REST?
迁移到多用户应用程序时,我还需要考虑哪些其他事项?我知道在多用户应用程序中安全性是一个更大的问题。尤其是当您处理任何类型的银行信息时(我会这样做)。在处理远程连接和大量用户时,性能可能是一个问题。还有什么我忽略的吗?
database - 每个用户看到不同的数据库 - “多用户”/“多视图”数据库?
是否存在允许多种观点的数据库类型的现有实现甚至名称?我的意思是,例如,如果一个用户更改了一篇文章的标题,那么更改将只对该特定用户可见,而其他所有人都会看到原始标题。如果多个用户将其更改为相同的新标题,则新标题将成为数据库的“主视图”或“未过滤视图”,由数据库或应用程序启动。
我正在用 C# 编写代码,熟悉 SQL 并从 MongoDB 开始,但问题是关于概念以及它是否存在抽象、实现或设计模式。
system - 多用户系统
你好我有一个问题,我写了一个需求规范。
有一个系统,不止一个人与之交互,我想描述一个人退出交互时会发生什么。
我不知道多用户系统究竟是如何工作的,我猜系统会创建一个实例(?),当用户完成它会再次关闭?
但是这样的系统仍然运行(当然)。
我怎样才能正确地描述...问题?(它像我猜的那样工作吗?)
非常感谢
iphone - 如何在 iPhone 应用中查看 Google 文档已更改?
我是 iPhone 应用程序和 GData API 的新手。我想将 Google Documents 用作我的多用户应用程序的数据存储,需要控制对数据的访问权限:
如果第一个用户获取数据,那么他可以读取和写入它,所有其他用户将只能读取。但是当第一个用户完成他的数据工作并退出应用程序时,我希望第二个用户获得写入权限。
请帮助我找到解决此问题的方法。
我的想法是这样的:我需要有两个文件,“ApplicationData”文件,我的数据将存储在其中,以及“DataInfo”文件,其中使用数据的用户的名称将按正确的顺序存储。当第一个用户退出时,他会删除“DataInfo”中带有他名字的第一行。所有其他只有读取权限的用户必须每分钟(例如)下载“DataInfo”并检查情况是否发生变化。但我很怀疑,这是解决我的问题的好方法。我不认为,这对大量用户如此频繁地下载相同的文件有好处。
有任何想法吗 ?
java - 如何避免在多用户环境中编辑表单中的相同值?
我的环境:具有服务器和客户端的多用户应用程序。服务器知道当前正在使用哪个字段,并且无法从其他用户那里进行编辑。
我有一个包含几个 JComponent 的表单,例如 JCheckBox、JTextField、JTextArea 和 JComboBox。问题是我想控制是否允许用户编辑字段的值。当不允许用户编辑字段时,不允许组件进入编辑模式。
例如:用户 A 正在编辑文本字段的值。现在用户 B 想要编辑相同的值。他单击同一个文本字段,此时我想确保该文本字段没有在编辑模式下切换。
有人知道该检查的正确位置吗?我是否必须对每个组件进行检查,或者是否有适合我表单中所有 JComponents 的解决方案?
谢谢
java - 如何在编辑行时处理 JTable 的传入数据?
想象一下我们有一个客户端/服务器多用户架构。任何时候用户都可以在他的 JTable 中添加一个新的 TableRow。服务器收到通知并向所有客户端发送消息,因此他们的数据(意味着他们的表格视图)也得到更新。这工作得很好,除非用户当前正在编辑该表中的一行,同时成为一个更新事件。
当新的 tableRow 位于用户当前编辑的行上方时,相应的单元格也会发生变化,但 tableEditor 不会注意到这一点,因此现在正在编辑和更改错误的行。
我创建了一个小示例来将此问题分解为几行代码,因此可能更容易关注我:
为了伪造传入的数据事件,我使用了一个线程,它每 5 秒在位置 1 上添加一个新行。足以说明问题所在。
你对如何处理这个有什么建议吗?只要表格被编辑并在之后执行 updateEvents,我是否应该禁止 updateEvents?但是,当用户在编辑模式下停留 5 分钟时,我该怎么办?执行他错过的所有更新事件可能会有点痛苦。您可能还有其他想法吗?
先感谢您!梅内
asp.net - ASP.NET 中的单例
如果我在 asp.net 中的集合周围有一个单例包装器,它是否必须被缓存,或者它的数据是否会在回发中持久保存?
此外,如果另一个用户登录到应用程序,该应用程序是否会创建另一个实例(自身),从而创建另一个单例实例,还是会访问在第一个实例中创建的同一个单例?
单例的实际实现是以下之一:(设计1:)
或设计 2:
javascript - 如何设计一个多用户 ajax Web 应用程序以保证并发安全
我有一个网页显示来自服务器的大量数据。通信是通过 ajax 完成的。
每次用户交互并更改此数据(假设用户 A 重命名某些内容)时,它都会告诉服务器执行操作,并且服务器返回新更改的数据。
如果用户 B 同时访问该页面并创建一个新的数据对象,它将再次通过 ajax 告诉服务器,服务器将为用户返回新对象。
在 A 的页面上,我们有带有重命名对象的数据。在 B 的页面上,我们有一个新对象的数据。在服务器上,数据既有重命名的对象,也有新的对象。
当多个用户同时使用它时,我有哪些选项可以使页面与服务器保持同步?
诸如锁定整个页面或在每次更改时将整个状态转储给用户等选项都被避免了。
如果有帮助,在此特定示例中,网页会调用在数据库上运行存储过程的静态 web 方法。存储过程将返回它已更改的所有数据,不再返回。然后静态 web 方法将存储过程的返回转发给客户端。
赏金编辑:
您如何设计一个使用 Ajax 与服务器通信但避免并发问题的多用户 Web 应用程序?
即同时访问功能和数据库上的数据,没有任何数据或状态损坏的风险
ajax - 客户-客户交互设计问题?
好的,这是我的情况:我正在寻找最好的设计方法。我在服务器端使用 PHP/Smarty,在客户端使用 HTML/jQuery,但这在这里并不重要。
我的服务器上有这个多用户系统。它是一种订购系统。一个标准用户——我们称他们为客户——可以从网上商店订购一些商品。网上商店包含来自多个卖家的商品。
当用户(客户)下订单时,卖家(也是系统中的用户)必须收到通知,告知有新订单并确认/拒绝。
当卖家确认/拒绝订单时,必须向用户发送通知,告知他/她的订单状态。
订单以及订单确认信息都存储在数据库中。
我现在能想到的唯一方法是不断地——在 AJAX 的短时间内——从卖家的屏幕上检查数据库中的新记录,并在客户等待时为他/她做同样的事情确认。
但我在想,有没有办法在用户(客户)下订单时触发向卖家发出通知,以便卖家只能在需要时加载数据库,而不是每隔一段时间加载数据库?
客户在等待确认时也是如此。但这并不是那么重要,因为它不会一直发生。如果卖家没有回应,订单将自动被拒绝,有一个等待限制。
我希望你能理解我的问题。
silverlight - 具有同步功能的 Silverlight 多用户应用程序
我想知道是否可以在 Silverlight 中创建一个支持不同客户端之间同步的图形应用程序。
更准确地说,我正在绘制开发 Silverlight 游戏的概念。访问者将登录并实时查看其他访问者正在做的事情。
如果可以实现这一点,我想知道在多个对等点之间创建完全同步的 Silverlight 环境需要什么。来自链接、代码片段、想法和/或替代方案的任何内容都值得赞赏!
请不要建议使用 Flash,因为我没有有效的 Flash 构建许可证,我更喜欢在 Visual Studio 2010 中创建它。
编辑:
我希望它对客户端尽可能轻量级,我不太关心服务器,而且带宽消耗也很低。我不知道广播负责人是否是让所有活动同时发生的唯一选择?