
What can be configured?
When we created our first configuration we just changed the port for the endpoint, but what else can we configure?
Public/Private Endpoint
The main purpose of the configuration is to tell the server on what location and port we want the endpoint to be created.
Certificate
When using TLS/SSL you will tell the configuration what certificate to use.
Force client certificate
If set to true the server will not accept connections on the endpoint unless the client passes a valid client certificate. When set to true you will be able to get information about the client certificate on the connection.
Origin
By default the origin is set to * This means that anyone can connect regardless of origin. If you only allow traffic from certain origins you can specify this in a comma separated list.
Note:
- The origin feature is only used by clients that imlpement the websocket protocol.
- Do not use this as a security feature.
Transport
By default XSockets uses a transport that supports TLS/SSL if you use the certificate (and ssl) configuration. You can easily create custom transports by implementing the XSockets.Core.Common.Socket.ITransport interface or inherit the XSockets.Core.XSocket.Transport.DefaultTransport. Once you have your custom transport in place you will just tell the configuration/endpoint to use it.
Example:
public class MyCustomTransportConfig : ConfigurationSetting
{
public MyCustomTransportConfig() : base("ws://localhost:4503")
{
this.Transport = new MyCustomTransport();
}
}
You can read more about custom transports under the Transports section.
QoSRetryInterval
TBD
Performance
Backlog
TBD
ThreadPoolSize
TBD
CompletionPortThreads
TBD