2011-12-04 2 views
0

J'essaie de créer un serveur basé sur le module réseau. ce que je ne comprends pas est sur quel événement je suis censé mettre le code de réponse: sur (data, function()) pourrait encore être au milieu de recevoir plus de données du flux (il pourrait donc être trop tôt pour réponse) et sur (fin, function()) est après que la connexion est fermée.net module dans node.js

merci pour votre aide

+0

Voulez-vous faire du TCP ou du HTTP brut? – thejh

+0

Je veux faire TCP brut – coffeeG

+0

TCP n'a pas de concept de message, il modélise juste un flot d'octets. Vous devrez écouter 'data' et détecter votre propre format de message dans le flux. – Barend

Répondre

2

L'événement socket (« données »), appelle la fonction de rappel à chaque fois une mémoire tampon de données entrant est prêt pour la lecture ,, et l'événement émet le tampon de prise de données ,, donc utiliser ,,

socket.on('data',function(data){ 
    // Here is the function to detect the real data in stream 
}); 

cela peut aider pour le noeud v0.6.5, http://nodejs.org/docs/v0.6.5/api/net.html#event_data_

et ceci pour une meilleure compréhension pour les Streames Readable, http://nodejs.org/docs/v0.6.5/api/streams.html#readable_Stream

+0

merci, mais je ne comprends toujours pas quelle sera la bonne façon de détecter la fin de mon format de message – coffeeG

+0

quel est votre message formate? ,, dans la fonction de rappel placer le code nécessaire pour détecter la fin de celui-ci, –