2016-11-09 19 views
0

ユーザーがログインできる.Net Webアプリケーションがあるとします。C#.netの複数のクライアントから同時にテキストエリアを編集する

私は単純にテキストボックスであり、ログインしているすべてのユーザーが動的に更新するテキストエリアに同時に書き込むことができるようにしたいとします。

私は野生の推測を行い、おそらくこれのようなライブラリがあると言いますが、ネイティブのC#/ .netで行うよりも簡単です。

私はすでに他のもの(チャット)のために必要だったsignalRライブラリを持っています。だからこそ助けてくれればすごいです。 また、このトピックに関する実際のチュートリアルも非常に高く評価されます。

ありがとうございます。

+0

あなたはhttps://en.wikipedia.org/wiki/Operational_transformationを探しています。 – SLaks

+0

_and OTとは何ですか?_はい。私はそのwikiの記事をチェックアウトします。 –

+0

コンテンツ編集可能なdiv要素がこれを行う簡単な方法かもしれない –

答えて

2

SignalRは双方向のクライアントサーバ通信を可能にします。 クライアントがサーバメソッドを呼び出すことができることを意味します。たとえば、 void UpdateTextArea (DiffInfo diff) でも、サーバーはクライアント(1つまたは部屋)のメソッドを呼び出すことができます。つまり、onTextAreaUpdated (diff) クライアント間で通信できます。

しかし、SignalRはマージされていません。それはあなた次第です。たとえば、google-diff-match-patchを使用し、キーアップ/キーダウンイベントの変更を収集できます。

この情報をサーバーに送信して、残りのクライアントに配信することができます。このイベントを残りのクライアントに適用します。

マージ競合について。あなた自身の葛藤について考える必要があります。そして、それは間違いなくサーバー側で行います。

+0

私はGoogleのdiff matchパッチのものを読んできました。少なくとも足跡として、私が望むものにかなり近いようです。これはおそらく私が行く方法です。 –

関連する問題