##基本操作例子
server.js
```js
// 建立一个Socket服务端
const net = require('net');
// 创建一个Socket服务器
var server = net.createServer(function socketConnect(socket) {
// 当有客户端与我连接的时候出发
// console.log(`${socket.remoteAddress}:${socket.remotePort} 进来了`);
// socket.write(`hello ${socket.remoteAddress}:${socket.remotePort} 你来了`)
// 监听socket有数据过来
socket.on('data', function(chunk) {
console.log(chunk.toString());
socket.write('server > 你说啥?');
});
});
var port = 2080;
// 监听特定的端口
server.listen(port, function(err) {
// 成功监听 2080 端口过后执行 如果监听失败(端口被别人用了)会有ERROR
if (err) {
console.log('端口被占用');
return false;
}
console.log('服务端正常启动监听【${port}】端口');
})
```
client.js
```
// 建立socket客户端
const net = require('net');
const socket = net.connect({ port: 2080 }, function() {
this.debug(arguments);
},function() {
console.log('已经连接到服务端!');
process.stdout.write('\nclient > ');
process.stdin.on('data', function(chunk) {
// 控制台输入回车
// console.log(chunk.toString().trim());
socket.write(chunk.toString().trim());
process.stdout.write('\nclient >');
});
socket.on('data', function(data) {
console.log('\n' + data.toString());
});
});
socket.on('end', function() {
console.log('disconnected from server');
});
```
- 简介
- 配置安装
- window
- 基础知识
- Node 命令基本用法
- 进程和线程
- 调试
- 异步、回调
- 全局对象
- 非阻塞 I/O和事件驱动和非阻塞机制
- npm包概念
- 模块化
- 实现require和cache
- 核心模块操作
- fs文件系统操作
- 同步调用和异步调用
- 缓冲区处理(二进制数据)
- 文件读取
- 文件写入
- 例子:读取歌词文件显示
- 文件流
- 例子:文件复制
- 监视文件
- 其他文件操作
- 目录操作
- 例子:递归加载目录树
- path路径操作模块
- 网络操作
- URL 解析模块
- querystring查询字符串模块
- crypto加密解密模块
- Socket
- 例子:聊天室
- coffeescript
- Gulp-自动化构建工具
- Gulp实现前端构建
- Gulp后端构建
- 插件
- gulp-load-plugins 模块化管理插件
- gulp-minify-css 压缩css插件
- gulp-sass 将sass预处理为css
- gulp-less 将less预处理为css
- gulp-sourcemaps 插件
- gulp-concat 合并插件
- gulp-uglify 压缩JS插件
- gulp-util gulp常用工具库插件
- yargs插件
- gulp-nodemon 自动启动/重启插件
- coffee-script 插件
- gulp-coffee插件
- gulp-livereload 网页自动刷新
- Moment.js-处理时间插件
- express 前端框架
- Async-异步流程控制插件
- node-progress进度条插件
- JSHint-代码规范检查工具
- lodash -JavaScript 工具库
- 资料
- 框架所用包
- bodyParser