多个 Listener
关键字: 多个端口, 多个监听, Listener, 多个Listener
单个 listener
在下面的配置中,你可以配置服务器监听 IP 和端口:
{
"serverOptions": {
"name": "EchoServer",
"listeners": [
{
"ip": "Any",
"port": "2020"
}
]
}
}
多个 listeners
你也可以在配置节点 "listeners" 下添加多个元素:
{
"serverOptions": {
"name": "EchoServer",
"listeners": [
{
"ip": "Any",
"port": "2020"
},
{
"ip": "192.168.3.1",
"port": "2020"
}
]
}
}
在此例中,服务器实例 "EchoServer" 将会侦听两个本地端口。这个类似于在 IIS 中的网站可以有多个绑定。
你也可以给不同的 listener 配置不同的属性:
{
"serverOptions": {
"name": "EchoServer",
"listeners": [
{
"ip": "Any",
"port": 80
},
{
"ip": "Any",
"port": 443,
"security": "Tls12",
"certificateOptions": {
"filePath": "supersocket.pfx",
"password": "supersocket"
}
}
]
}
}
除了在配置中定义 listener, SuperSocket 2.0 还允许你通过代码的方式添加 listener:
var host = SuperSocketHostBuilder.Create<TextPackageInfo, LinePipelineFilter>(args)
.ConfigureSuperSocket(options =>
{
options.AddListener(new ListenOptions
{
Ip = "Any",
Port = 4040
}
);
}).Build();
await host.RunAsync();