zoukankan      html  css  js  c++  java
  • [Erlang危机](5.1.4)端口port

     

    原创文章,转载请注明出处:server非业余研究http://blog.csdn.net/erlib 作者Sunface
    联系邮箱:cto@188.com



    Port

    In a manner similar to processes, Ports should be considered. Ports are a datatype that encompasses all kinds of connections and sockets opened to the outside world: TCP sockets, UDP sockets, SCTP sockets, file descriptors, and so on.
     There is a general function (again, similar to processes) to count them: length(erlang:ports()) . However, this function merges in all types of ports into a single entity. Instead, one can use recon to get them sorted by type:

       端口(ports)和进程的行为模式是非常相近的。是一种包括了连接和sockets的数据类型:TCP sockets,UDP sockets。SCTP sockets,文件描写叙述符等等。
     有一个通用的函数(和进程的processes()相似)来计算端口总数量:length(erlang:ports())。

    但这个函数的输出包括了全部的端口类型的总和,因此你无法获知某个特定类型端口的详细数目,能够使用recon的port_type来依据端口类型排序他们。

    ---------------------------------------------------------
    1> recon:port_types().
    [{"tcp_inet",21480},
    {"efile",2},
    {"udp_inet",2},
    {"0/1",1},
    {"2/2",1},
    {"inet_gethost 4 ",1}]
    --------------------------------------------------------
     This list contains the types and the count for each type of port. The type name is a string and is defined by the Erlang VM itself.
     All the *_inet ports are usually sockets, where the prefix is the protocol used (TCP, UDP, SCTP). The efile type is for files, while "0/1" and "2/2" are file descriptors for standard I/O channels (stdin and stdout) and standard error channels (stderr), respectively. Most other types will be given names of the driver they’re talking to, and will be examples of port programs 14 or port drivers 15.
     Again, tracking these can be useful to assess load or usage of a system, detect leaks, and so on.

     上面这个列表包括了每种类型的端口和数量。端口类型名是Erlang VM自己定义的字符串。

    全部以XXX_inet的端口通常都是sockets,当中XXX前缀就是所使用的协议(TCP,UDP,SCTP)。

    efile类型是针对文件的。"0/1" 和 "2/2" 就是标准I/O(stdin和stdout),和错误处理(stderr)的文件描写叙述符。大多数其他的port类型在与驱动(dirver)交互时会给定一个名字,代表了对应的port programs14或port drivers15
       全程跟踪端口数会对诊断负载或进程泄漏有极大的帮助。

    [14] http://www.erlang.org/doc/tutorial/c_port.html
    [15] http://www.erlang.org/doc/tutorial/c_portdriver.html

    [14] http://www.erlang.org/doc/tutorial/c_port.html
    [15] http://www.erlang.org/doc/tutorial/c_portdriver.html
  • 相关阅读:
    音频player
    重要 sdl音最简
    sdl win 播放video hello--
    linux里helloworld
    0129 总结Cygwin要用这个,不要用mingw,根本下不下来
    转音视频重要
    Gradle项目无法下载jar包 修改 插件下载地址plugins.gradle.org

    开源gradle**all.zip下载慢问题
    [Effective Java] 第1条 考虑用静态工厂方法代替构造函数
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/6903202.html
Copyright © 2011-2022 走看看