从C#.net中的多个客户端同时编辑textarea

时间:2016-11-09 21:10:25

标签: c# html .net textbox signalr

假设我有一个用户可以登录的.Net Web应用程序。

假设我有一个视图,它只是一个文本框,我希望所有登录用户能够同时写入动态更新的textarea。

我会做一个疯狂的猜测,并说可能有一个像这样的东西的库,并且比尝试使用原生C#/ .net更容易。

我已经拥有了其他东西(聊天)所需的signalR库,所以如果这有帮助的话,那真是太棒了。 此外,任何有关此主题的实际教程也将受到高度赞赏。

谢谢。

1 个答案:

答案 0 :(得分:2)

SignalR允许双向客户端服务器通信。 这意味着你的客户可以调用服务器方法 void UpdateTextArea (DiffInfo diff) 但是,您的服务器也可以在您的客户端(一个或多个房间)调用方法,比如说onTextAreaUpdated (diff) 所以你可以在客户之间进行沟通。

但SignalR与合并无关。所以这取决于你。例如,您可以使用google-diff-match-patch并收集关键启动/按键事件的更改。

然后您可以将此信息发送到服务器并将面包广播发送给其他客户端。并将此事件应用于其他客户端。

关于合并冲突。你必须自己思考冲突。并且肯定是在服务器端做的。