app.listen(3000)与app是不一样的
前者是server代码如下
- Server {
- domain: null,
- _events:
- { request:
- { [Function]
- domain: undefined,
- _events: [Object],
- _maxListeners: undefined,
- setMaxListeners: [Function: setMaxListeners],
- getMaxListeners: [Function: getMaxListeners],
- emit: [Function: emit],
- addListener: [Function: addListener],
- on: [Function: addListener],
- once: [Function: once],
- removeListener: [Function: removeListener],
- removeAllListeners: [Function: removeAllListeners],
- listeners: [Function: listeners],
- listenerCount: [Function: listenerCount],
- init: [Function: init],
- defaultConfiguration: [Function: defaultConfiguration],
- lazyrouter: [Function: lazyrouter],
- handle: [Function: handle],
- use: [Function: use],
- route: [Function: route],
- engine: [Function: engine],
- param: [Function: param],
- set: [Function: set],
- path: [Function: path],
- enabled: [Function: enabled],
- disabled: [Function: disabled],
- enable: [Function: enable],
- disable: [Function: disable],
- checkout: [Function],
- connect: [Function],
- copy: [Function],
- delete: [Function],
- get: [Function],
- head: [Function],
- lock: [Function],
- 'm-search': [Function],
- merge: [Function],
- mkactivity: [Function],
- mkcalendar: [Function],
- mkcol: [Function],
- move: [Function],
- notify: [Function],
- options: [Function],
- patch: [Function],
- post: [Function],
- propfind: [Function],
- proppatch: [Function],
- purge: [Function],
- put: [Function],
- report: [Function],
- search: [Function],
- subscribe: [Function],
- trace: [Function],
- unlock: [Function],
- unsubscribe: [Function],
- all: [Function: all],
- del: [Function],
- render: [Function: render],
- listen: [Function: listen],
- request: [Object],
- response: [Object],
- cache: {},
- engines: {},
- settings: [Object],
- _eventsCount: ,
- locals: [Object],
- mountpath: '/',
- _router: [Object] },
- connection: [Function: connectionListener],
- clientError: [Function] },
- _eventsCount: ,
- _maxListeners: undefined,
- _connections: ,
- _handle:
- TCP {
- _externalStream: {},
- fd: ,
- reading: false,
- owner: [Circular],
- onread: null,
- onconnection: [Function: onconnection],
- writeQueueSize: },
- _usingSlaves: false,
- _slaves: [],
- _unref: false,
- allowHalfOpen: true,
- pauseOnConnect: false,
- httpAllowHalfOpen: false,
- timeout: ,
- _pendingResponseData: ,
- _connectionKey: '6::::3000' }
后者还没有实例化算是一个类:代码如下:
- { [Function]
- domain: undefined,
- _events: { mount: [Function: onmount] },
- _maxListeners: undefined,
- setMaxListeners: [Function: setMaxListeners],
- getMaxListeners: [Function: getMaxListeners],
- emit: [Function: emit],
- addListener: [Function: addListener],
- on: [Function: addListener],
- once: [Function: once],
- removeListener: [Function: removeListener],
- removeAllListeners: [Function: removeAllListeners],
- listeners: [Function: listeners],
- listenerCount: [Function: listenerCount],
- init: [Function: init],
- defaultConfiguration: [Function: defaultConfiguration],
- lazyrouter: [Function: lazyrouter],
- handle: [Function: handle],
- use: [Function: use],
- route: [Function: route],
- engine: [Function: engine],
- param: [Function: param],
- set: [Function: set],
- path: [Function: path],
- enabled: [Function: enabled],
- disabled: [Function: disabled],
- enable: [Function: enable],
- disable: [Function: disable],
- checkout: [Function],
- connect: [Function],
- copy: [Function],
- delete: [Function],
- get: [Function],
- head: [Function],
- lock: [Function],
- 'm-search': [Function],
- merge: [Function],
- mkactivity: [Function],
- mkcalendar: [Function],
- mkcol: [Function],
- move: [Function],
- notify: [Function],
- options: [Function],
- patch: [Function],
- post: [Function],
- propfind: [Function],
- proppatch: [Function],
- purge: [Function],
- put: [Function],
- report: [Function],
- search: [Function],
- subscribe: [Function],
- trace: [Function],
- unlock: [Function],
- unsubscribe: [Function],
- all: [Function: all],
- del: [Function],
- render: [Function: render],
- listen: [Function: listen],
- request: IncomingMessage { app: [Circular] },
- response: ServerResponse { app: [Circular] },
- cache: {},
- engines: {},
- settings:
- { 'x-powered-by': true,
- etag: 'weak',
- 'etag fn': [Function: wetag],
- env: 'development',
- 'query parser': 'extended',
- 'query parser fn': [Function: parseExtendedQueryString],
- 'subdomain offset': ,
- 'trust proxy': false,
- 'trust proxy fn': [Function: trustNone],
- view: [Function: View],
- views: '/Users/Amanda/Downloads/aa/blog/views',
- 'jsonp callback name': 'callback' },
- _eventsCount: ,
- locals:
- { settings:
- { 'x-powered-by': true,
- etag: 'weak',
- 'etag fn': [Function: wetag],
- env: 'development',
- 'query parser': 'extended',
- 'query parser fn': [Function: parseExtendedQueryString],
- 'subdomain offset': ,
- 'trust proxy': false,
- 'trust proxy fn': [Function: trustNone],
- view: [Function: View],
- views: '/Users/Amanda/Downloads/aa/blog/views',
- 'jsonp callback name': 'callback' } },
- mountpath: '/',
- _router:
- { [Function: router]
- params: {},
- _params: [],
- caseSensitive: false,
- mergeParams: undefined,
- strict: false,
- stack: [ [Object], [Object], [Object] ] } }
另外app.createServer()此方法已经被废除;属于旧代码;websocket要监听服务器,监听实例化得app,即第一种server;
app.listen(3000)与app是不一样的的更多相关文章
- Express app.listen 函数了解
最近一直在学习如何用原生的 Node.js 来做一个网站.在写的同时也在学习 Express 源码. 一直觉得 Express 开启服务器的方法挺有趣的,就看了一下. 在 Express 运行的时候会 ...
- Android 一个app启动另一个app
最近,一个app启动另一个app,这个玩法挺火的嘛,有没有试过更新QQ到5.1版本,QQ的健康里面就可以添加其他app,实现从QQ跳转到其他app应用.这个挺好玩的,一下子带来了多少流量啊. 一.先来 ...
- iOS App Store上架新APP与更新APP版本
iOS App Store上架新APP与更新APP版本 http://www.jianshu.com/p/9e8d1edca148
- walk around by The provided App differs from another App with the same version and product ID 分类: Sharepoint 2015-07-05 08:14 4人阅读 评论(0) 收藏
'm currently developing a SharePoint 2013 application. After a few deployments via Visual Studio, I ...
- Android项目实战(二十二):启动另一个APP or 重启本APP
一.启动另一个APP 目前公司项目需求,一个主APP,需要打开某些小APP,这些小APP是整合了Unity的,但是还是android程序(所有小APP的包名是已知的). 以前没做过,查询了一下实现方法 ...
- 原生APP与移动Web App的比较
中国手机网民已超4.5亿,智能机用户超过3.8亿,中国移动互联网市场产值已超过712.5亿元,手机营销是未来必然趋势,而App恰恰是这个趋势下的一个强有力的营销工具: App已有两个主要的方向:原生A ...
- 【Hybrid App】关于Hybrid App技术解决方案的选择
[引言]近年来随着移动设备类型的变多,操作系统的变多,用户需求的增加,对于每个项目启动前,大家都会考虑到的成本,团队成员,技术成熟度,时间,项目需求等一堆的因素.因此,开发App的方案已经变得越来越多 ...
- iPhone应用提交流程:如何将App程序发布到App Store?
对于刚加入iOS应用开发行列的开发者来说,终于经过艰苦的Coding后完成了第一个应用后最重要的历史时刻就是将应用程序提交到iTunes App Store.Xcode 4.2开发工具已经把App提交 ...
- Android - 和其他APP交互 - 让其他app启动你的activity
前面的两篇文章主要讲了一个方面:从app中启动其他app.但是如果你的app可以处理对其他app有用的操作,你的app也应该响应其他app的操作请求.例如,如果你创建了一个社交app可以分享信息和图片 ...
随机推荐
- Jquery 解决 H5 placeholder元素问题
<style type="text/css"> .placeholder{ color: #cacaca; } </style> <script ty ...
- mysql_config_editor程序的用法
1.mysql_config_editor程序的作用: 它只是用来在用户的家目录下生成一个.mylogin.cnf 里面保存有用于登录mysql-server端的password,host,user信 ...
- RHEL安装时加载第三方raid驱动
IBM x3650 M3服务器做完RAID之后,不能直接的安装Linux系统,会报出没有硬盘的错误 过程如下: 1.到IBM的官方网站下载device drive 下载后的为:ibm_dd_sraid ...
- 10-3[RF] feature selection
main idea: 计算每一个feature的重要性,选取重要性前k的feature: 衡量一个feature重要的方式:如果一个feature重要,则在这个feature上加上noise,会对最后 ...
- fuel Explain
http://docs.mirantis.com/openstack/fuel/fuel-5.1/ https://software.mirantis.com/quick-start/ https:/ ...
- ios 开发 常见问题解决 (持续更新)
1.使用cocoaPods引用第三方类库,报错:file not found . 解决方案:设置 Project->Info->Configurations之后 clear ,然后再 ...
- 关于css3中before与after用单冒号还是双冒号的疑虑
在 CSS3 中为了区别伪元素和伪类为伪元素使用了双冒号,因此如果使用了 display 或者 width 等属性时使得显示脱离了原本元素后,建议按照标准双写.
- Android入门——UI(9)
SwipRefreshLayout下拉刷新控件 <?xml version="1.0" encoding="utf-8"?> <android ...
- Java RMI 学习笔记
概况 功能:提供了客户辅助对象和服务辅助对象,为客户辅助对象创建和服务辅助对象形同的方法. 优点:客户不必写任何网络或I/O代码,调用远程方法就和运行在客户自己的本地JVM上对对象进行的正常方法一样. ...
- 安装rac遇到的问题总结:
1. 选择虚拟机工具 这个过程是非常的波折.这次安装也让我吸取了很大教训,获得了宝贵经验. 首先啊,必须了解rac的机制. 共享磁盘+多实例. 这就意味着,我们必须使用一个支持共享磁盘的虚拟机. 第一 ...