Object 内置对象

对象 SslServer

ssl 服务器对象,可方便创建一个标准多纤程 ssl 服务器

SslServer 对象是将 TcpServerSslHandler 组合封装的对象,方便快速搭建服务器,逻辑上相当于:

1 2 3
var svr = new net.SslServer(addr, port, new ssl.Handler(crt, key, function(req) { ... }));

创建方法:

1 2 3 4
var ssl = require("ssl"); var svr = new http.Server(crt, key, function(req) { ... });

继承关系

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<class>TcpServer|new TcpServer()|socket;handler|start();stop()] [<this>SslServer|new SslServer()|verification;ca] [object] <:- [TcpServer] [TcpServer] <:- [SslServer] TcpServer new TcpServer() socket handler start() stop() SslServer new SslServer() verification ca object toString() toJSON()

构造函数

SslServer

SslServer 构造函数,在所有本机地址侦听

1 2 3
new SslServer(Array certs, Integer port, Handler listener);

调用参数:

  • certs: Array, 服务器证书列表
  • port: Integer, 指定 ssl 服务器侦听端口
  • listener: Handler, 指定 ssl 接收到的内置消息处理器,处理函数,链式处理数组,路由对象,详见 mq.Handler

certs 格式为:

1 2 3 4 5 6 7 8 9 10 11
[{ name: "fibjs.org", crt: [X509Cert object], key: [PKey object] }, { name: "*.fibjs.org", crt: [X509Cert object], key: [PKey object] } ]

SslServer 构造函数

1 2 3 4
new SslServer(Array certs, String addr, Integer port, Handler listener);

调用参数:

  • certs: Array, 服务器证书列表
  • addr: String, 指定 ssl 服务器侦听地址,为 "" 则在本机所有地址侦听
  • port: Integer, 指定 ssl 服务器侦听端口
  • listener: Handler, 指定 ssl 接收到的连接的内置消息处理器,处理函数,链式处理数组,路由对象,详见 mq.Handler

certs 格式为:

1 2 3 4 5 6 7 8 9 10 11
[{ name: "fibjs.org", crt: [X509Cert object], key: [PKey object] }, { name: "*.fibjs.org", crt: [X509Cert object], key: [PKey object] } ]

SslServer 构造函数,在所有本机地址侦听

1 2 3 4
new SslServer(X509Cert crt, PKey key, Integer port, Handler listener);

调用参数:

  • crt: X509Cert, X509Cert 证书,用于客户端验证服务器
  • key: PKey, PKey 私钥,用于与客户端会话
  • port: Integer, 指定 ssl 服务器侦听端口
  • listener: Handler, 指定 ssl 接收到的内置消息处理器,处理函数,链式处理数组,路由对象,详见 mq.Handler

SslServer 构造函数

1 2 3 4 5
new SslServer(X509Cert crt, PKey key, String addr, Integer port, Handler listener);

调用参数:

  • crt: X509Cert, X509Cert 证书,用于客户端验证服务器
  • key: PKey, PKey 私钥,用于与客户端会话
  • addr: String, 指定 ssl 服务器侦听地址,为 "" 则在本机所有地址侦听
  • port: Integer, 指定 ssl 服务器侦听端口
  • listener: Handler, 指定 ssl 接收到的连接的内置消息处理器,处理函数,链式处理数组,路由对象,详见 mq.Handler

成员属性

verification

Integer, 设定证书验证模式,缺省为 VERIFY_NONE

1
Integer SslServer.verification;

ca

X509Cert, 客户端证书验证证书链

1
readonly X509Cert SslServer.ca;

socket

Socket, 服务器当前侦听的 Socket 对象

1
readonly Socket SslServer.socket;

handler

Handler, 服务器当前事件处理接口对象

1
Handler SslServer.handler;

成员函数

start

启动当前服务器

1
SslServer.start();

stop

关闭 socket中止正在运行的服务器

1
SslServer.stop() async;

toString

返回对象的字符串表示,一般返回 "[Native Object]",对象可以根据自己的特性重新实现

1
String SslServer.toString();

返回结果:

  • String, 返回对象的字符串表示

toJSON

返回对象的 JSON 格式表示,一般返回对象定义的可读属性集合

1
Value SslServer.toJSON(String key = "");

调用参数:

  • key: String, 未使用

返回结果:

  • Value, 返回包含可 JSON 序列化的值