服务器端:
var http=require('http')
var querystring=require('querystring')
http.createServer(function(req,res){
var body=''
req.on('data',function(chunk){
body+=chunk
})
req.on('end',function(){
res.writeHead(200,{'Content-Type':'text/html;charset=utf8'})
res.end('Done')
console.log('\n got name: '+querystring.parse(body).name+'\n')
})
}).listen(3000,'127.0.0.1')
客户端:
var http=require('http')
var querystring=require('querystring')
function send(theName){
http.request({
host:'127.0.0.1',
port:3000,
url:'/',
method:'POST'
},function(res){
res.setEncoding('utf-8')
res.on('end',function(){
// console.log('request complete!')
// process.stdout.write('\n your name: ')
})
}).end(querystring.stringify({name:theName}))
}
process.stdout.write('\n your name: ')
process.stdin.resume()
process.stdin.setEncoding('utf-8')
process.stdin.on('data',function(name){
send(name)
})
启动服务器端:node buffer.js
另起终端,启动客户端:node client.js
客户端终端输入:
服务器端终端显示:
另随一些杂笔记:
一、http、querystring
创建一个.js文件
写入代码
在input输入框中输入内容
回车
跳转到127.0.0.1:3000/url
浏览器显示出输入的内容
var http=require('http')
var querystring=require('querystring')
http.createServer(function(req,res){
if('/'==req.url){
res.writeHead(200,{'Content-Type':'text/html;charset=utf8'})
res.end([
'<form action="/url" method="POST">',
'<lable>请输入你的名字</lable>',
'<input type="text" name="name" />',
'<lable>请输入你的年龄</lable>',
'<input type="text" name="age" />',
'<lable>请输入你的爱好</lable>',
'<input type="text" name="hobby" />',
'<p><button>Submit</button></p>',
'</form>'
].join(' '))
}else if('/url'==req.url && 'POST'==req.method){
var body=''
req.on('data',function(chunk){
body+=chunk
})
req.on('end',function(){
res.writeHead(200,{'Content-Type':'text/html;charset=utf8'})
res.end('你的名字是:'+querystring.parse(body).name+ //querystring.parse() 解析
'你的年龄是:'+querystring.parse(body).age+
'你的爱好是:'+querystring.parse(body).hobby)
})
}
}).listen(3000,'127.0.0.1')
二、
读取图片
var http=require('http')
var fs=require('fs')
http.createServer(function(req,res){
res.writeHead(200,{'Content-Type':'image/jpg;text/html;charset=utf8'})
var stream=fs.ReadStream('./jiangtingyanxie.jpg')
stream.on('data',function(data){
res.write(data)
})
stream.on('end',function (data) {
res.end()
})
}).listen(3000,'127.0.0.1')