例会笔记(1)

nodejs安装:(windows)

32位node下载:
https://nodejs.org/dist/v4.4.3/node-v4.4.3-x86.msi

64位下载地址:

https://nodejs.org/dist/v4.4.3/node-v4.4.3-x64.msi

安装之后要找得到node.exe 所在位置。


域名解析:
域名解析是把域名指向网站空间IP

①检查网络是否能够连通
ping 域名

eg:
ping baidu.com
ping 111.13.101.208

eg:
ping liyunhao.cn
ping 58.87.72.83

②计算机网络中在传输层用 IP地址+端口号 唯一标识进程:
eg:
localhost:3000 本地的3000端口 ==== 172.0.0.1:3000


腾讯云相关: 包括服务器的购买和域名解析相关。 —— [ CSDN]


nodejs工程的建立: —— [ CSDN]


nodejs概念的理解:
异步:
程序执行的顺序可能不与代码编写顺序一样

eg:yibu.js

回调函数:
将函数座位参数传递,在指定的地方进行调用。
eg:
callback.js


*思考题:
在http.js 里面
①在http模块下的createServer里面匿名函数是什么时候调用执行的
②函数的参数req和res是什么时候生成的

解:

源码 —— [ github]

node v0.12分支 http.js模块下的createServer方法

①在私有模块_http_server,js中的parseOnIncoming 方法里面调用执行了匿名函数
self.emit 触发了该匿名函数
②在parseOnIncoming 里面传入
1.”request”是http.IncomingMessage的一个实例
req不是在parseOnIncoming 生成,是在调用parseOnIncoming传入的

parser.onIncoming = parseOnIncoming

parser = parsers.alloc();

parers = common.parsers;
common 来自_http_common 模块

在_http_common 调用了onIncoming 传入的第一个参数就是req 即parse.incoming.

parse.incoming 是IncomingMessage的一个实例

即req是IncomingMessage的一个实例
IncomingMessage 是私有模块_http_incoming下的IncomingMessage

2.”response”是http.ServerResponse的一个实例

私有模块_http_server里面的parseOnIncoming 生成ServerResponse的一个实例

ServerResponse继承自OutgoingMessage

即response 也是OutgoingMessage的一个实例

OutgoingMessage来自私有模块_http_outgoing.js, 模块中将OutgoingMessage作为接口暴露出去

OutgoingMessage继承自Stream,即为Stream(流)的一个子类

其实回调函数被执行了两次

另一次调用?
参考 net.js

以上为个人学习笔记,若发现错误或者有疑问可以一起探讨。


你可能感兴趣的:(梦创例会)