2011-08-15 4 views
-2

Je suis un chat avec ces technologies: NodeJS, PHP (pour d'autres choses), Express.JSChat privé avec nodejs, php, expressjs?

Le chat aura des chambres privées. Une salle privée est une conversation privée, comme sur le chat Facebook. Disons qu'une pièce est: my.page/index.php?room=123

1) Comment puis-je obtenir l'identifiant de la pièce? (Dans ce cas, 123)

2) Comment puis-je gérer tous les messages envoyés dans la pièce = 123 à conserver dans cette pièce?

Toute autre recommandation sera la bienvenue!

+0

beaucoup trop vague. Qu'est-ce qu'une pièce exactement? – mdm

+1

Si vous utilisez socket.io, vous pouvez consulter leur [API de salle] (https://github.com/learnboost/socket.io). Et si vous n'utilisez pas socket.io, vous devriez. –

+0

Oui, je l'utilise, mais il ne me dit toujours pas comment récupérer l'identifiant de la pièce à partir de l'URL –

Répondre

1

1) $_GET['room']

2) Votre base de données où vous stockez les messages auraient une colonne room.

+0

Qu'en est-il si je ne stocke pas les messages? –

+0

Vous avez toujours une propriété 'room' associée à chaque message et chaque connexion en attente de messages. –

+0

Oui! De io, mais comment puis-je obtenir l'id de l'URL et le passer à server.js? –

1

Pour obtenir id ajouter le code suivant à server.js:

app.get('/room', function (req, res, next) { 
    if (req.query.room) 
    { 
    res.end(req.query.room); 
    } 
    else 
    { 
    res.end('List of public chats!...'); 
    } 
}); 

Ensuite, vous devez traiter tous les messages entrants pour la chambre

app.post('/room/:id', function (req, res, next) { 
    if (req.body && req.body.message) 
    { 
    console.log(req.body.message); // Output your sent message 
    } 
    next(); 
}); 
Questions connexes