2011-12-04 94 views
0

我正在試圖製作一個基於網絡模塊的服務器。我不明白的是我應該在哪個事件上放置響應代碼: on(data,function())可能仍然處於從流中接收更多數據的中間位置(所以它可能會提前回復) 和on(end,function())在連接關閉之後。node.js中的網絡模塊

感謝你的幫助

+0

你想做原始的TCP或HTTP嗎? – thejh

+0

我想做原始的TCP – coffeeG

+0

TCP沒有消息的概念,它只是建立一個字節流。你必須聽'數據'並在流中檢測你自己的消息格式。 – Barend

回答

2

插座事件(「數據」),每次輸入數據緩衝區讀就緒調用回調函數,,以及事件發出數據的套接字緩衝區,, 所以用這個,,

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

這可以幫助節點v0.6.5,http://nodejs.org/docs/v0.6.5/api/net.html#event_data_

,這爲可讀streames清醒的認識, http://nodejs.org/docs/v0.6.5/api/streams.html#readable_Stream

+0

謝謝,但我仍然不明白什麼是正確的方式來檢測我的消息格式結束 – coffeeG

+0

什麼是您的消息合成?,,在回調函數內放置代碼需要檢測它的結束, –