zoukankan      html  css  js  c++  java
  • 为什么express中打开服务端只用listen即可

    为什么express中打开服务端只用listen即可:
    http.createServer(app).listen()与app.listen()的区别

    写法一:
            

var app = require('express')();

            

app.listen(port)


    写法二:
            

var app = require('express')();

            

var http = require('http').createServer(app);

            

http.listen(port);



    为何可以这样写?

    因为listen的源码是:
    /* listen源码
     var http = require('http');
     app.listen = function listen() {
     var server = http.createServer(this);
     return server.listen.apply(server, arguments);
     };
    *
    * */

            


    app.listen = function (port) {

            

  http.createServer(this).listen(port);

    所以,当你想要设置host的时候,使用createServer来设置服务端就行,然后就可以listen(8081,’host’).但是其实没有什么作用,host这里能写的也就几个值,0.0.0.0/127.0.0.1/localhost/本地IP,如果写其他的会报错。127.0.0.1/localhost就意味着只能在你本机调用这个服务器,但是如果你不设置,基本上就是本机,外机都可以调用。0.0.0.0就是给外机调用的

            


  • 相关阅读:
    整理前端面试题1
    前端面试题2
    6.显示锁Lock 和 线程通信Condition
    5.创建执行线程的方式之三 :实现Callable 接口
    4.闭锁 CountDownLatch
    3.ConcurrentHashMap 锁分段机制 Copy-On-Write
    2.原子变量 CAS算法
    1.volatile关键字 内存可见性
    13.MyBatis注解式开发
    12.查询缓存
  • 原文地址:https://www.cnblogs.com/wanghui-garcia/p/9507583.html
Copyright © 2011-2022 走看看