• Net


    nodejs给我们提供这个模块,是为了提供API操作TCP/IP 。我们用的时候需要require。

    它包括了服务器和客户端(它们都是流),当然Net模块,分别提供方法来创建他们。

    Class: net.Server

    这个类是为了创建一个TCP或者说是本地一个服务器。

    net.Server是 EventEmitter ,所以它拥有下面一些event.

    Event: 'close'

    当服务器关闭的时候会emit。注意:要所有链接都断掉!!!

    Event: 'connection'

    当客服端与服务器形成一个新的连接的时候,就会emit.回调函数里的参数就是net.Socket的一个实例!

    Event: 'error'

    Emitted when an error occurs. The 'close' event will be called directly following this event. See example in discussion of server.listen.

    意思就是整个链接传输过程中出现了错误,就会emit,当然 'close' event也紧跟其后!

    Event: 'listening'

    调用server.listen()的时候就emit!

    server.address()

    Returns an object with portfamily, and addressproperties: { port: 12346, family: 'IPv4', address: '127.0.0.1' }

    Example:

     1 var server = net.createServer((socket) => {
     2   socket.end('goodbye
    ');
     3 }).on('error', (err) => {
     4   // handle errors here
     5   throw err;
     6 });
     7 
     8 // grab a random port.
     9 server.listen(() => {
    10   console.log('opened server on', server.address());
    11 });
    View Code

    注意:一定要等"listening"event emit之后才能调用这个方法!具体看上面的例子和"listening"的介绍!

    server.close([callback])

    停止接收新的链接发送过来,但是!!!!维持了已经存在的链接!!!记住,存在的还是会继续链接着的!!!

    这个方法是异步的。当所有链接都断开了,服务器也就关了,然后就发送'close'事件。可选参数callback也就是在'close'emit之后就执行了。

    当然,如果服务器已经关闭了,你却调用这个方法,callback的参数err就会被实例化。

    server.getConnections(callback)

  • 相关阅读:
    Redis史上最全文章教程
    一目了然的 Node.js Windows10 安装篇
    maven 报错 Failed to execute goal on project ...: Could not resolve dependencies for project ...
    SpringCloud 的版本问题 (深入)
    shell编程题(二十八)
    shell编程题(二十七)
    shell编程题(二十六)
    C++之Boost Asio相关
    C++之function函数
    C++之正则表达式
  • 原文地址:https://www.cnblogs.com/huenchao/p/6212859.html
Copyright © 2020-2023  润新知