node --- 创建一个Socket服务器
生活随笔
收集整理的這篇文章主要介紹了
node --- 创建一个Socket服务器
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
流程:
- 會(huì)開發(fā)一個(gè)監(jiān)聽文件改變的應(yīng)用
- 然后客戶端使用命令行工具(telnet)連接服務(wù)端
- 服務(wù)端在監(jiān)聽到文件變化后,會(huì)發(fā)送數(shù)據(jù)給客戶端
監(jiān)聽文件變化
- node 的fs模塊:watch方法用于監(jiān)聽文件的變化,
- 可以在內(nèi)存分配一個(gè)區(qū)域,來(lái)專門用于監(jiān)聽文件變化,并執(zhí)行該區(qū)域內(nèi)指定的回調(diào)函數(shù)
使用命令行工具連接
- 使用的是telnet
- 假設(shè)程序的服務(wù)端是運(yùn)行在60300端口的
服務(wù)端給客戶端發(fā)信息:
- node的net模塊.
- net.createServer中的connection.write方法
總體代碼
// net-watcher.js 'use strict' const fs = require('fs'); const net = require('net'); const filename = process.argv[2];if (!filename) {throw Error('Error: No filename specified.'); }net.createServer(connection => {console.log('Subscriber connected.');connection.write(`Now watching "${filename}" for changes...\n`);const watcher =fs.watch(filename, () => connection.write(`File changed: ${new Date()} `));connection.on('close', () => {console.log('Subscriber disconnected.');watcher.close();}); }).listen(60300, () => console.log('Listening for subscriber...'));- 啟動(dòng)應(yīng)用(net-watcher)
- 此時(shí)等待用戶訪問.
- 用戶使用telnet連接(若出錯(cuò),可以百度搜索 xxx系統(tǒng)下打開 telnet協(xié)議)
- 改變監(jiān)聽的 1.txt 文件,然后保存…
總結(jié)
以上是生活随笔為你收集整理的node --- 创建一个Socket服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#中宏定义#define、预处理#if
- 下一篇: webpaper网页出题语言