0
以下是我使用this教程構建的基本http
服務器。 我只在這裏展示一個函數創建服務器:同時收聽GET和POST,node.js服務器
function Server(resourceMap, rootFolder) {
this.resourceMap = resourceMap;
this.rootFolder = rootFolder;
function connectionHandler(socket) {
var data = "";
console.log('server connected');
console.log('CONNECTED: ' + socket.remoteAddress +':'+ socket.remotePort);
socket.setEncoding('utf8');
socket.on('data',function(newData) {
console.log("NEW DATA\n" + newData); data += newData;
});
socket.on('end',function(data) {
console.log("DATA\n" + data); router.route(data,socket,handle,resourceMap,rootFolder);
});
}
this.server = net.createServer(connectionHandler);
this.port = undefined;
this.startServer = function(port) {
this.port = port;
this.server.listen(port, function() {
console.log('server bound');});
}
}
因此,大家可以看到,我有兩個聽衆 - data
和end
。當發射data
時,我添加發送給變量的內容,並且當發射end
時,我將此變量發送給另一個函數。這不適用於GET
請求 - 所有數據立即發送,並且不會發出end
。
我必須能夠處理這兩種方法。另外,這是一項家庭作業,這就是爲什麼我不能使用http模塊。
有什麼建議嗎?謝謝!
P.s.因爲我是node.js
和JavaScript
的新手,歡迎任何一般性評論