互联网的运作,最根本的驱动就是信息的交互,NodeJS 在数据交互这一块做的很带感,异步编程让人很惬意,关于 NodeJS 的数据通信,最基础的两个模块是 NET 和 HTTP,前者是基于 TCP 的封装,后者本质还是 TCP 层,只不过做了比较多的数据封装,我们视之为更高层. 本文先述说 NodeJS 的 NET 模块工作机制,下次再谈一谈 HTTP 模块. 本文地址:http://www.cnblogs.com/hustskyking/p/nodejs-net-module.html,转载请…
互联网的运作,最根本的驱动就是信息的交互,NodeJS 在数据交互这一块做的很带感,异步编程让人很惬意,关于 NodeJS 的数据通信,最基础的两个模块是 NET 和 HTTP,前者是基于 TCP 的封装,后者本质还是 TCP 层,只不过做了比较多的数据封装,我们视之为更高层. 本文先述说 NodeJS 的 NET 模块工作机制,下次再谈一谈 HTTP 模块. 一.服务器和客户端之间的交互 NodeJS 底层支撑是 v8,v8 是用 C++ 编写的一个编译和运行 JavaScript 代码的库,…
前言 这是我读<深入浅出Nodejs>的笔记,真是希望我的机械键盘快点到啊,累死我了. CommonJS规范 主要分为模块引用.模块定义.模块标识三个部分. 模块引用 上下文提供require()方法来引入外部模块,示例代码如下: //test.js //引入一个模块到当前上下文中 var math = require('math'); math.add(1, 2); 模块定义 上下文提供了exports对象用于导入导出当前模块的方法或者变量,并且它是唯一的导出出口.模块中存在一个module…
前言 书上还有很大一部分讲了C/C++模块的编译过程.核心模块编写和C/C++扩展模块的内容,不过我对C++一窍不通因此没有仔细看,如果以后需要再自习看吧. 包与NPM 第三方模块中,模块和模块之间是散列在各地的,互相之间不能直接引用.而在模块之外,包和NPM则是将模块联系起来的一种机制. CommonJS的包规范定义其实也十分简单,它由包结构和包描述文件两个部分组成,前者用于组织包中的各种文件,后者用于描述包的相关信息,以供外部读取分析. 包结构 包实际上是一个存档文件,即一个目录直接打包为.…
在<深入浅出nodejs>有这样一段(有部分增减): 1.nodejs引入模块分四个步骤 路径分析 文件定位 编译执行 加入内存 2.核心模块部分在node源代码的编译过程中就编译成了二级制文件,在node启动时就直接加载如内存,所以这部分模块引入时,前三步省略,直接加入. 3.nodejs的模块加载和浏览器js加载一样都有缓存机制,不同的是,浏览器仅仅缓存文件,而nodejs缓存的是编译和执行后的对象(缓存内存). 基于以上三点:我们可以编写一个模块,用来记录长期存在的变量.例如:我可以编写…
深入浅出ghostbuster剖析NodeJS与PhantomJS的通讯机制 蔡建良 2013-11-14 一. 让我们开始吧 通过命令行来执行 1) 进行命令窗口: cmd 2) 进入resources-requested.js 所在目录: cd 你的目录\ghostbuster\ghostbuster-master\tests 3) 执行nodejs代码: node resources-requested.js 执行成功后,会在tests目录下会生成一个google.png图片. resou…
有一天老大忽然问起我这个问题,nodejs运行机制 是怎样的?因自己对nodejs也不是很熟悉,就上网查了一下,得出结果如下: 1.简介 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好.将libuv作为跨平台抽象层,libuv是用c/c++写成的高性能事件驱动的程序库.nodejs的原理类似c/c++系统编程中的epoll 2.nodejs运行系统 (1)V8引擎解析JavaScript脚本.…
一.引言 要想熟练掌握Windows应用程序的开发,首先需要理解Windows平台下程序运行的内部机制,然而在.NET平台下,创建一个Windows桌面程序,只需要简单地选择Windows窗体应用程序就可以了,微软帮我们做了非常好的封装,以至于对于很多.NET开发人员至今也不清楚Windows 平台下程序运行的内部机制,所以本专题将深入剖析下Windows 程序的内部运行机制. 二.Windows平台下几个基础概念 有朋友会问,理解了程序运行的内部机制有什么用,因为在我们实际开发中用得微软提供的…
一.引子 本文介绍JavaScript运行机制,这一部分比较抽象,我们先从一道面试题入手: console.log(1); setTimeout(function(){ console.log(3); },0); console.log(2); 请问最后的输出结果是什么? 这一题看似很简单,但如果你不了解JavaScript运行机制,很容易就答错了.题目的答案是依次输出1 2 3,如果你有疑惑,下文有详细解释. 二.理解JS的单线程的概念 JavaScript语言的一大特点就是单线程,也就是说,…
一,开篇分析 从今天开始,我们来深入具体的模块学习,这篇文章是这个系列(大熊君大话NodeJS)文章的第三篇,前两篇主要是以理论为主,相信大家在前两篇的学习中, 对NodeJS也有一个基本的认识,没事!!!趁热打铁,让我们继续将NodeJS进行到底,好了废话不多说,直接进入今天的主题 “Net模块” ,那么”Net“应该如何理解那? 它是做什么用的那?(Net模块可用于创建Socket服务器或Socket客户端. NodeJS 的数据通信,最基础的两个模块是 Net 和 Http,前者是基于 T…