5

最近、bout node js をよく読んでいますが、チャット機能は非常に優れているようです。ただし、私が見たチャットの例は、基本的にチャット サーバーを固定の URL (会議室など) にブロードキャストするものだけでした。ノードjsを部分的に使用して、gchatのようなチャットクライアントを作成することは可能ですか? - チャット ウィンドウが現在のページにポップアップ表示され、その後複数のページに表示されます。誰もこれの例を見たことがありますか?

そうでない場合、この目的に使用する他のテクノロジの提案はありますか (他の質問で回答されていることは知っています)。

ありがとう。

4

2 に答える 2

6

jqueryに依存する疑似実装を提供し、ソリューションから退屈な IO と退屈な DOM 操作を抽象化します

// Server

var nowjs = require('now');
var everyone = nowjs.initialize(httpServer);

everyone.now.joinRoom = function(room) {
    nowjs.getGroup(room).addUser(this.user.clientId);
}

everyone.now.leaveRoom = function(room) {
    nowjs.getGroup(room).removeUser(this.user.clientId);
}

everyone.now.messageRoom = function(room, message) {
    nowjs.getGroup(room).now.message(message);
}

// Client

var currRoom = "";

$(".join").click(function() {
    currRoom = ...
    now.joinRoom(currRoom);
});

$(".send").click(function() {
    var input = ...
    now.messageRoom(currRoom, input.text());
});

now.messageRoom = function(message) {
    $("messages").append($("<div></div>").text(message));
};

nowjs の新しいバージョン (0.5) にはグループ システムが組み込まれていることに気付きました。これは基本的にあなたが望むことをします。手間いらず。

必要に応じて、nowjs の依存関係を削除し、100/200 行のコードに置き換えることができます。これはユーザーの練習問題として残しておきます。

于 2011-04-11T15:37:03.197 に答える
1

AjaxIM をご覧ください: https://github.com/freq32/AjaxIM

これは、nodejs に基づく Facebook スタイルのチャット アプリケーション (友達リスト、画面下部の小さな常設チャット バー、ポップアップ チャットを考えてください) です。

于 2011-07-29T19:14:08.670 に答える