/// <summary> /// /// </summary> /// <param name="requestHandler"></param> protected GameWebSocketHost(WebSocketRequestHandler requestHandler) { _setting = GameEnvironment.Setting; int port = _setting != null ? _setting.GamePort : 0; IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Any, port); var section = GetSection(); int maxConnections = section.SocketMaxConnection; int backlog = section.SocketBacklog; int maxAcceptOps = section.SocketMaxAcceptOps; int bufferSize = section.SocketBufferSize; int expireInterval = section.SocketExpireInterval; int expireTime = section.SocketExpireTime; var socketSettings = new SocketSettings(maxConnections, backlog, maxAcceptOps, bufferSize, localEndPoint, expireInterval, expireTime); socketListener = new SocketListener(socketSettings, requestHandler); socketListener.DataReceived += new ConnectionEventHandler(OnDataReceived); socketListener.Connected += new ConnectionEventHandler(socketLintener_OnConnectCompleted); socketListener.Handshaked += new ConnectionEventHandler(OnHandshaked); socketListener.Disconnected += new ConnectionEventHandler(OnDisconnected); socketListener.OnPing += new ConnectionEventHandler(socketLintener_OnPing); socketListener.OnPong += new ConnectionEventHandler(socketLintener_OnPong); socketListener.OnClosedStatus += socketLintener_OnClosedStatus; }
public SocketMiddleware(RequestDelegate next, ISocketHandler socketHandler, WebSocketRequestHandler webSocketRequestHandler) { _next = next ?? throw new ArgumentNullException(nameof(next)); _socketHandler = socketHandler ?? throw new ArgumentNullException(nameof(socketHandler)); _webSocketRequestHandler = webSocketRequestHandler ?? throw new ArgumentNullException(nameof(webSocketRequestHandler)); }