Nodejs入门
2012-01-05 14:48
453 查看
老大让做一个简单的Http服务器响应的东西,可是服务器端的脚本一点点也不会,ruby到现在也没怎么入门,想起nodejs可以做简单快速的服务器端,就用这个了
其实需求很简单就是响应URL的参数请求做一些简单的响应,nodejs用的是javascript,方法也不是很复杂,module也不用太多,觉得挺适合的,于是就从0开始了
下载源码,编译,看sample,就开始写了。
源码如下
其实需求很简单就是响应URL的参数请求做一些简单的响应,nodejs用的是javascript,方法也不是很复杂,module也不用太多,觉得挺适合的,于是就从0开始了
下载源码,编译,看sample,就开始写了。
源码如下
var sys = require("util"), http = require("http"),url = require("url"); var fs = require("fs"); var querystring = require("querystring"); http.createServer(function(request, response) { console.log("request version" + request.httpVersion + " request headers " + request.headers["Content-Type"] + " " + JSON.stringify(request.headers)) ; var pathname = url.parse(request.url).pathname; var search = url.parse(request.url).search; var query = url.parse(request.url).query; if(pathname == '/update.zip'){ fs.readFile("./update.zip", "binary", function(error, file) { if(error) { response.writeHead(500, {"Content-Type": "text/plain"}); response.write(error + "\n"); response.end(); } else { response.writeHead(200, {"Content-Type": "application/zip"}); response.write(file, "binary"); response.end(); } }); }else{ console.log("pathname = " + pathname+"search "+search + " query = "+ query); response.writeHeader(200, {"Content-Type": "text/html"}); var param = querystring.parse(query); var srcversion = param["swv"]; console.log(" param = " + param["hw"]); // response.writeHeader(200, {"Content-Type": "text/html"}); response.write('<?xml version="1.0" encoding="UTF-8"?>'); response.write('<OTAPackage><srcVersion>'+srcversion +'</srcVersion>'); response.write('<dstVersion>'+'higher version'+'</dstVersion>'); response.write('<description><![CDATA[OTA_030_042]]></description>'); response.write('<downloadURL>http://192.168.0.154:8080/update.zip</downloadURL>'); response.write('<size>7953346</size>'); response.write('<priority>Optional</priority>'); response.write('<sessionId>007d0d21-64c8-4768-9f91-d1ae5268113f</sessionId>'); response.write('</OTAPackage>'); response.end(); } }).listen(8080,"192.168.0.154"); sys.puts("Server running at http://localhost:8080/");就是这么简单的东西,刚开始的时候response没有写end,结果只能第一次响应正确,后面的全都挂了,http协议也不是太熟悉,具体原因也没搞清楚,有知道的高手请告知一下,谢谢了
相关文章推荐
- nodejs Express入门教程实例
- Nodejs学习item【入门手上】
- nodejs入门
- [前端] nodejs之cookie入门
- nodejs入门篇---创建project并具体解释
- NodeJS入门之Hello world
- (一)nodejs入门之 'Hello World'
- nodejs入门笔记
- Nodejs:http入门2:接受一个get请求
- NodeJS入门
- NodeJS中的MongoDB快速入门详细教程
- nodejs 入门关于文件上传的问题
- Node入门教程(9)第七章:NodeJs的文件处理
- Node初学者入门,一本全面的NodeJS教程(推荐阅读)
- NodeJS入门--环境搭建 IntelliJ IDEA
- Nodejs4.x+express4.13.1入门 项目搭建及简单的路由控制
- nodejs入门教程三:调用内部和外部方法示例
- [Nodejs入门]第四篇,用nodejs实现一个爬虫的功能(二)
- nodejs入门之Express