上一節我們完成的服務起的目錄搭建,並寫了乙個簡單的服務,在這一節,將完成函式封裝,返回內容…
每次我麼在寫玩**都需要重新啟動服務,簡直蠢的不要不要的,這裡我們使用supervisor
// supervisor 熱更新模組
安裝:
npm install supervisor -g
supervisor 會自動檢測檔案改動,然後重啟服務
// debug後面放置的是引數,可以根據後邊的引數決定是否列印
// debug 設定環境變數: set debug=***
// powershell設定環境變數: $env:debug = "*,-not_this"
let templ = fs.readfilesync(path.join(__dirname, 'tmpl.ejs'), 'utf8')
let readdir = util.promisify(fs.readdir)
// var debug = require('debug');
// console.log(chalk.green('hello'))
// supervisor 熱更新模組
// npm install supervisor
// 建立服務
debug(url) // 列印日誌
server.listen(port, hostname)
}// 伺服器處理函式
handlerequest () = url.parse(req.url)
// 拼接完整路徑
let p = path.join(this.config.dir, '.' + pathname)
// 檢測檔案是否存在
try , ]})
let dirs = await readdir(p) // 讀取目錄的檔案路徑
// 將拿到的目錄對映成為乙個陣列,裡邊是乙個物件
dirs = dirs.map(dir => ())
// 如果是目錄,使用ejs渲染並返回結果
let content = ejs.render(this.templ, )
res.end(content)
} else
} catch (error) }}
// 傳送檔案
sendfile (req, res, p)
// 傳送錯誤
senderror (err, req, res)
}let server = new server()
server.start()
為了方便渲染目錄,我們之類引入ejs
模板引擎,並在src
下建立乙個模板html>
到此為止,我們已經可以返回基本的內容,和目錄結構的返回,並可以檢視對應的內容。編了乙個伺服器
伺服器 include 包含socket 2版本的標頭檔案 include include pragma comment lib,ws2 32.lib 呼叫網路動態庫!int tmain int argc,tchar argv word sockversion 0x0002 定義版本號 sockve...
搭建乙個FTP伺服器
1 首先在本地機器上建立乙個使用者!這些使用者是用來登入到ftp的!我的電腦右鍵 管理 本地使用者和組 使用者 右鍵 新建使用者 輸入使用者名稱和密碼再點建立就行了!3 之後是安裝iis元件!在開始選單裡 控制面板 新增或刪除程式 新增 刪除windows元件 應用程式伺服器 internet 資訊...
寫乙個索引伺服器
今天把 jaxb 返回的 xml 物件 轉到了 lucene 的 document 然後仍給 index search 一把。還算順利搞定。接下來開始解決網路介面。寫乙個基於netty的索引伺服器。接收client仍過來的xml資料報。關於netty的資料除了 url 還有一部分中文的。url 大致...