【发布时间】:2012-01-08 04:58:40
【问题描述】:
我正在测试在 node.js 中设置的 XML-RPC,并想测试服务器接收调用和响应,以及客户端调用服务器并在同一节点会话中接收响应。如果我使用相同的主机和端口运行 http.createServer 和 http.request,我会得到:
Error: ECONNREFUSED, Connection refused
at Socket._onConnect (net.js:600:18)
at IOWatcher.onWritable [as callback] (net.js:186:12)
会产生错误的测试代码:
var http = require('http')
var options = {
host: 'localhost'
, port: 8000
}
// Set up server and start listening
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'})
res.end('success')
}).listen(options.port, options.host)
// Client call
// Gets Error: ECONNREFUSED, Connection refused
var clientRequest = http.request(options, function(res) {
res.on('data', function (chunk) {
console.log('Called')
})
})
clientRequest.write('')
clientRequest.end()
虽然上面的代码如果分成两个文件并作为单独的节点实例运行,则可以工作,有没有办法让上面的代码在同一个节点实例上运行?
【问题讨论】: