public WebServer(int port, bool localOnly, ReqRespHandler<HttpRequest, HttpResponse> reqHandler) { this.reqHandler = reqHandler; int maxNumberOfConnections = 1000; int excessSaeaObjectsInPool = 200; int backlog = 100; int maxSimultaneousAcceptOps = 100; var setting = new NewConnListenerSettings(maxNumberOfConnections, excessSaeaObjectsInPool, backlog, maxSimultaneousAcceptOps, new IPEndPoint(localOnly ? IPAddress.Loopback : IPAddress.Any, port));//check only local host or not CreateContextPool(maxNumberOfConnections); newConnListener = new NewConnectionListener(setting, clientSocket => { //when accept new client HttpContext context = this.contextPool.Pop(); context.BindSocket(clientSocket); //*** bind to client socket context.StartReceive(); //start receive data }); }
public WebServer(int port, bool localOnly, ReqRespHandler <HttpRequest, HttpResponse> reqHandler) { this.reqHandler = reqHandler; int maxNumberOfConnections = 1000; int excessSaeaObjectsInPool = 200; int backlog = 100; int maxSimultaneousAcceptOps = 100; var setting = new NewConnListenerSettings(maxNumberOfConnections, excessSaeaObjectsInPool, backlog, maxSimultaneousAcceptOps, new IPEndPoint(localOnly ? IPAddress.Loopback : IPAddress.Any, port));//check only local host or not CreateContextPool(maxNumberOfConnections); newConnListener = new NewConnectionListener(setting, clientSocket => { //when accept new client HttpContext context = this.contextPool.Pop(); context.BindSocket(clientSocket); //*** bind to client socket context.StartReceive(); //start receive data }); }
public WebSocketContext(WebSocketServer webSocketServer, ReqRespHandler<WebSocketRequest, WebSocketResponse> webSocketReqHandler) { this.webSocketReqHandler = webSocketReqHandler; this.webSocketServer = webSocketServer; connectionId = System.Threading.Interlocked.Increment(ref connectionIdTotal); //------------------- //send,resp sockAsyncSender = new SocketAsyncEventArgs(); sockAsyncSender.SetBuffer(new byte[RECV_BUFF_SIZE], 0, RECV_BUFF_SIZE); sendIO = new SendIO(sockAsyncSender, 0, RECV_BUFF_SIZE, sendIO_SendCompleted); sockAsyncSender.Completed += new EventHandler<SocketAsyncEventArgs>((s, e) => { switch (e.LastOperation) { default: { } break; case SocketAsyncOperation.Send: { sendIO.ProcessWaitingData(); } break; case SocketAsyncOperation.Receive: { } break; } }); webSocketResp = new WebSocketResponse(this, sendIO); //------------------------------------------------------------------------------------ //recv,req ,new socket sockAsyncListener = new SocketAsyncEventArgs(); sockAsyncListener.SetBuffer(new byte[RECV_BUFF_SIZE], 0, RECV_BUFF_SIZE); recvIO = new RecvIO(sockAsyncListener, 0, RECV_BUFF_SIZE, HandleReceivedData); sockAsyncListener.Completed += new EventHandler<SocketAsyncEventArgs>((s, e) => { switch (e.LastOperation) { default: { } break; case SocketAsyncOperation.Send: { } break; case SocketAsyncOperation.Receive: { recvIO.ProcessReceivedData(); } break; } }); //------------------------------------------------------------------------------------ this.webSocketReqParser = new WebSocketProtocolParser(recvIO); }
public HttpWebServer( int port, bool localOnly, ReqRespHandler <HttpRequest, HttpResponse> reqHandler) { _port = port; _localOnly = localOnly; _reqHandler = reqHandler; }
internal void BindReqHandler(ReqRespHandler <HttpRequest, HttpResponse> reqHandler) { _reqHandler = reqHandler; }
public void SetMessageHandler(ReqRespHandler <WebSocketRequest, WebSocketResponse> webSocketReqHandler) { _webSocketConn.SetMessageHandler(webSocketReqHandler); }
public WebSocketServer(ReqRespHandler<WebSocketRequest, WebSocketResponse> webSocketReqHandler) { this.webSocketReqHandler = webSocketReqHandler; }
public void SetMessageHandler(ReqRespHandler <WebSocketRequest, WebSocketResponse> webSocketReqHandler) { this.webSocketReqHandler = webSocketReqHandler; }
public void SetHandler(ReqRespHandler <WebSocketRequest, WebSocketResponse> websocketHandler) { _websocketHandler = websocketHandler; }
public void SetHandler(ReqRespHandler <WebSocketRequest, WebSocketResponse> websocketHandler) { //set external msg handler _websocketHandler = websocketHandler; }
internal void BindReqHandler(ReqRespHandler<HttpRequest, HttpResponse> reqHandler) { this.reqHandler = reqHandler; }
public void SetMessageHandler(ReqRespHandler<WebSocketRequest, WebSocketResponse> webSocketReqHandler) { this.webSocketReqHandler = webSocketReqHandler; }