在 C# .net 中同时编辑来自多个客户端的文本区域
Simultaneous editing textarea from multiple clients in C# .net
假设我有一个用户可以登录的 .Net Web 应用程序。
假设我有一个只是一个文本框的视图,我希望所有登录的用户能够同时写入一个动态更新的文本区域。
我将大胆猜测并说可能有一个类似这样的库,并且比尝试使用本机 C#/.net 更容易。
我已经有了其他东西(聊天)所需的 signalR 库,所以如果它有帮助,那就太棒了。
此外,任何有关此主题的实际教程也将不胜感激。
谢谢。
SignalR 允许两种方式的客户端服务器通信。
这意味着你的客户可以调用服务器方法,比如
void UpdateTextArea (DiffInfo diff)
但是您的服务器也可以在您的客户端(一个或房间内)上调用一个方法,比如 onTextAreaUpdated (diff)
这样您就可以在客户端之间进行通信了。
但 SignalR 与合并无关。所以这取决于你。例如,您可以使用 google-diff-match-patch 并收集按键弹起/按键按下事件的变化。
然后您可以将此信息发送到服务器并广播到其余客户端。并将此事件应用于其余客户端。
以及关于合并冲突。你必须自己考虑冲突。并且绝对在服务器端进行。
假设我有一个用户可以登录的 .Net Web 应用程序。
假设我有一个只是一个文本框的视图,我希望所有登录的用户能够同时写入一个动态更新的文本区域。
我将大胆猜测并说可能有一个类似这样的库,并且比尝试使用本机 C#/.net 更容易。
我已经有了其他东西(聊天)所需的 signalR 库,所以如果它有帮助,那就太棒了。 此外,任何有关此主题的实际教程也将不胜感激。
谢谢。
SignalR 允许两种方式的客户端服务器通信。
这意味着你的客户可以调用服务器方法,比如
void UpdateTextArea (DiffInfo diff)
但是您的服务器也可以在您的客户端(一个或房间内)上调用一个方法,比如 onTextAreaUpdated (diff)
这样您就可以在客户端之间进行通信了。
但 SignalR 与合并无关。所以这取决于你。例如,您可以使用 google-diff-match-patch 并收集按键弹起/按键按下事件的变化。
然后您可以将此信息发送到服务器并广播到其余客户端。并将此事件应用于其余客户端。
以及关于合并冲突。你必须自己考虑冲突。并且绝对在服务器端进行。