で最初のプロジェクトを開発していnodejsます。express 3フレームワークとしてsocket.io、またクライアント サーバー通信に使用します。現在、登録フォームを作成しようとしています。socket.ioそれは非常にうまく機能しますが、 とexpressを正しく一緒に使用する方法がわかりません。
電子メールとパスワードが有効かどうかを確認します。有効でない場合は、json オブジェクトをクライアントにプッシュしたいと思います。
私はこのアプリルートを使用します:
app.post('/user', function (req, res) {
var user = new User(req.body.user),
errors;
function userSaveFailed() {
res.render('index');
}
errors = user.validation(req.body.user.confirm);
user.save(errors, function (err) {
if (err) {
// Here I would like to send the Object to the client.
io.sockets.on('connection', function (socket) {
socket.emit('registration', {
errors : errors
});
});
return userSaveFailed();
}
res.render('user/new.jade');
});
});
クライアントは json オブジェクトを取得しますが、別のクライアントが接続すると、そのクライアント'/'もオブジェクトを取得します。socket.io使い方が間違っていると思います。.emit()アプリルートでa を使用する一般的な方法は何ですか? このテストのためsocket.ioにグローバル認証を使用する必要がありますか?express