6

Google チャットによく似た asp.net でチャット システムを実装しています。xmhttp を使用してデータを送受信し、単一のテーブルを使用してすべてのユーザーのすべてのチャットを保存しています。

XMLHttpRequest を使用して SQL でグローバル一時テーブルを作成し、データをより適切に整理できるようにしたいと考えていました (すべてのチャットを 1 つのテーブルに格納するのではなく、多くのユーザーがアクセスしているときにロックの問題を引き起こす可能性があります)。 .)

また、私のシステムではチャットを保存する必要がないので、グローバル一時テーブルは既に削除されており、クリアする手間が省けるので、グローバル一時テーブルの方が良いと思いました。

しかし、テーブルがXmlhttprequestによって作成された後、作成直後に削除されます....なぜこれが起こるのかわかりません....接続を閉じる行もすべて削除しましたが、まだ運がありません

じゃあどうすればいいの??また、従うべきベスト プラクティスについて教えてくれるオンライン リソースを誰かが知っている場合は、教えてください。

4

2 に答える 2

1

多くのユーザーがテーブルにアクセスしても、テーブルにロックの問題が発生することはありません。一時テーブルは、相互呼び出しを共有するためのものではなく、そのパスでさらに多くの障害が発生することになります。単純にデータをテーブルに格納してから、テーブルをポーリングする方がよいでしょう。

「ロックの問題」が発生する可能性があるのは、ユーザーが同じデータのチャンクを同じ行に同時に書き込もうとした場合のみです...これはチャット アプリケーションでは発生しないはずです。

さらに、Google チャットは、ポーリングの実装ではなく、COMET スタイルの実装を使用します。COMET > ユーザー エクスペリエンスの面でポーリングするのは私の経験です。

于 2009-09-11T12:31:27.637 に答える
0

実際にはデータベースにチャット メッセージを保持することは想定されていません...オフライン メッセージを実装している場合を除きます。

于 2009-12-19T04:16:01.757 に答える