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 序列化的值