public HttpTextService(Stream stream, string text, IWebSocketLogger logger, bool bRemoveCookie = false) { _stream = stream; _logger = logger; sHtmlText = text; bDeleteSession = bRemoveCookie; }
public ChatWebSocketService(Stream stream, TcpClient tcpClient, string header, IWebSocketLogger logger, WebServer server, String Identification_Alias, BusinessObject My_CommObject) : base(stream, tcpClient, header, true, logger) { _logger = logger; _server = server; _Identification_Alias = Identification_Alias; _My_CommObject = My_CommObject; }
private static void Main(string[] args) { _logger = new WebSocketLogger(); try { int port = 2120; string webRoot = Settings.Default.WebRoot; if (!Directory.Exists(webRoot)) { string baseFolder = AppDomain.CurrentDomain.BaseDirectory; _logger.Warning(typeof(Program), "Webroot folder {0} not found. Using application base directory: {1}", webRoot, baseFolder); webRoot = baseFolder; } // used to decide what to do with incoming connections ServiceFactory serviceFactory = new ServiceFactory(webRoot, _logger); using (WebServer server = new WebServer(serviceFactory, _logger)) { server.Listen(port); //Thread clientThread = new Thread(new ParameterizedThreadStart(TestClient)); //clientThread.IsBackground = true; //clientThread.Start("ws://localhost:2120/chat"); Console.ReadKey(); } } catch (Exception ex) { _logger.Error(typeof(Program), ex); Console.ReadKey(); } }
public WebSocketClient(bool noDelay, IWebSocketLogger logger) : base(logger) { _noDelay = noDelay; _logger = logger; _conectionCloseWait = new ManualResetEvent(false); }
/// <summary> /// Initializes a new instance of the <see cref="WebSocketServiceHost"/> class /// with the specified <paramref name="path"/> and <paramref name="log"/>. /// </summary> /// <param name="path"> /// A <see cref="string"/> that represents the absolute path to the service. /// </param> /// <param name="log"> /// A <see cref="Logger"/> that represents the logging function for the service. /// </param> protected WebSocketServiceHost(string path, IWebSocketLogger log) { _path = path; _log = log; _sessions = new WebSocketSessionManager(log); }
public HttpRedirectService(Stream stream, string sUrl, string sReturnUrl, string sSetCookie, IWebSocketLogger logger) { _stream = stream; _logger = logger; sRedirectTo = sUrl; sReturnTo = sReturnUrl; sCookie = sSetCookie; }
public HttpService(Stream stream, string path, string webRoot, IWebSocketLogger logger) { _stream = stream; _path = path; _webRoot = webRoot; _logger = logger; _mimeTypes = MimeTypesFactory.GetMimeTypes(webRoot); }
public MOTR_AdminWebsocket(Stream stream, TcpClient tcpClient, string header, IWebSocketLogger logger, MOTR_Sessions _sessions, MOTR_Dirs _dirs, MOTR_Users _users, MOTR_Admin _admin) : base(stream, tcpClient, header, true, logger) { _logger = logger; m_Sessions = _sessions; m_Dirs = _dirs; m_Users = _users; m_Admin = _admin; }
public WebSocketClient(bool noDelay, IWebSocketLogger logger) : base(logger) { _noDelay = noDelay; _logger = logger; _globalLogger = logger; // not such a big deal updating this because reference assignments are thread safe _conectionCloseWait = new ManualResetEvent(false); }
private const int BufferSize = 5 * 1024 * 1024; //5MB buffer public HttpBinaryService(Stream stream, string _sFilePath, string sRoot, string sHeader, IWebSocketLogger logger, bool bIsHead = false) { _stream = stream; _logger = logger; sFilePath = _sFilePath; sWebroot = sRoot; _mimeTypes = MimeTypesFactory.GetMimeTypes(sWebroot); bSendHeadOnly = bIsHead; sHTTPHeader = sHeader; }
internal WebSocketServiceHost( string path, Func <TBehavior> creator, Action <TBehavior> initializer, IWebSocketLogger log ) : base(path, log) { _creator = createCreator(creator, initializer); }
internal WebSocketServiceManager(IWebSocketLogger log) { _log = log; _clean = true; _hosts = new Dictionary <string, WebSocketServiceHost> (); _state = ServerState.Ready; _sync = ((ICollection)_hosts).SyncRoot; _waitTime = TimeSpan.FromSeconds(1); }
public WebSocketService(Stream stream, TcpClient tcpClient, string header, bool noDelay, IWebSocketLogger logger) : base(logger) { _stream = stream; _header = header; _logger = logger; _tcpClient = tcpClient; // send requests immediately if true (needed for small low latency packets but not a long stream). // Basically, dont wait for the buffer to be full before before sending the packet tcpClient.NoDelay = noDelay; }
//Stored when created classed public MOTR_Webserver(IWebSocketLogger logger, MOTR_Sessions sessions, MOTR_Users users, MOTR_Dirs dirs, MOTR_Queue queue, MOTR_Admin admin, MOTR_Downloads downloads) { _logger = logger; _sessions = sessions; _users = users; _dirs = dirs; _queue = queue; _admin = admin; _downloads = downloads; pMe = this; //Stored for the static calls aWebservers = new List <MOTR_WebserverObject>(); }
public ServiceFactory(string webRoot, IWebSocketLogger logger) { _logger = logger; _webRoot = string.IsNullOrWhiteSpace(webRoot) ? GetWebRoot() : webRoot; if (!Directory.Exists(_webRoot)) { _logger.Warning(this.GetType(), "Web root not found: {0}", _webRoot); } else { _logger.Information(this.GetType(), "Web root: {0}", _webRoot); } }
public MOTR_Moviescraper(IWebSocketLogger logger) { //Set the settings for the scrapper MOTRScrapperSettings = new MOTRMovieDbSettings(); MOTRScrapperSettings.ApiKey = "73706c8ed57633aeb73e866cd896ff9c"; MOTRScrapperSettings.ApiUrl = "http://api.themoviedb.org/3/"; // registration with an implementation of IMovieDbSettings MovieDbFactory.RegisterSettings(MOTRScrapperSettings); //Store logger at startup _logger = logger; movieInformation = null; }
public MOTR_WebserverFactoryInitalWizard(string webRoot, MOTR_Users users, MOTR_Admin _admin, IWebSocketLogger logger) { _logger = logger; _webRoot = string.IsNullOrWhiteSpace(webRoot) ? GetWebRoot() : webRoot; m_Users = users; m_Admin = _admin; if (!Directory.Exists(_webRoot)) { _logger.Warning(this.GetType(), "InitalWizard: Web root not found: {0}", _webRoot); } else { _logger.Information(this.GetType(), "InitalWizard: Web root: {0}", _webRoot); } }
public ServiceFactory(string webRoot, IWebSocketLogger logger, String Identification_Alias, WebServer server, BusinessObject My_CommObject) { _Identification_Alias = Identification_Alias; _logger = logger; _webRoot = string.IsNullOrWhiteSpace(webRoot) ? GetWebRoot() : webRoot; _server = server; _My_CommObject = My_CommObject; if (!Directory.Exists(_webRoot)) { _logger.Warning("", this.GetType(), "Web root not found: {0}", _webRoot); } else { _logger.Information("", this.GetType(), "Web root: {0}", _webRoot); } }
public HttpPostService(Stream stream, TcpClient tcpClient, string header, IWebSocketLogger logger, WebServer server, String Identification_Alias, BusinessObject My_CommObject) : base(stream, tcpClient, header, true, logger) { _logger = logger; _server = server; _stream = stream; _Identification_Alias = Identification_Alias; _header = header; //Response to Client RespondSuccess("text/html"); _My_CommObject = My_CommObject; string sValue = ""; string sDeviceType = ""; string[] tokens = _header.Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); if (tokens.Length > 3)//标示有标识内容类型 { foreach (string sTemp in tokens) { if ((sTemp.ToUpper().Contains("application/json".ToUpper())) && (sTemp.ToUpper().Contains("Content-Type:".ToUpper())))//Jason format { sValue = tokens[tokens.Length - 1]; if (base.IsValidJson(sValue)) { JToken Content = null; JObject JSearch = JObject.Parse(sValue); if (JSearch.TryGetValue("reader_name", out Content))//Zebra FX Reader { sDeviceType = "ZebraFXReader"; } } } if ((sTemp.ToUpper().Contains("multipart/form-data;".ToUpper())) && (sTemp.ToUpper().Contains("Content-Type:".ToUpper())))//Jason format { sDeviceType = "ZebraPrinter_HttpPost"; sValue = tokens[tokens.Length - 1]; } } _logger.Information("", this.GetType(), "Got HttpPost request:" + Environment.NewLine + _header); } else { _logger.Information("", this.GetType(), "Invalid http request"); } }
private static void Main(string[] args) { _logger = new WebSocketLogger(); try { int port = Settings.Default.Port; string webRoot = Settings.Default.WebRoot; if (!Directory.Exists(webRoot)) { string baseFolder = AppDomain.CurrentDomain.BaseDirectory; _logger.Warning(typeof(Program), "Webroot folder {0} not found. Using application base directory: {1}", webRoot, baseFolder); webRoot = baseFolder; } // used to decide what to do with incoming connections ServiceFactory serviceFactory = new ServiceFactory(webRoot, _logger); using (WebServer server = new WebServer(serviceFactory, _logger)) { if (port == 443) { X509Certificate2 cert = GetCertificate(); server.Listen(port, cert); } else { server.Listen(port); } Thread clientThread = new Thread(new ParameterizedThreadStart(TestClient)); clientThread.IsBackground = false; // to enable ssl change the port to 443 in the settings file and use the wss schema below // clientThread.Start("wss://localhost/chat"); clientThread.Start("ws://localhost/chat"); Console.ReadKey(); } } catch (Exception ex) { _logger.Error(typeof(Program), ex); Console.ReadKey(); } }
internal TcpListenerWebSocketContext( TcpClient tcpClient, string protocol, bool secure, ServerSslConfiguration sslConfig, IWebSocketLogger log ) { _tcpClient = tcpClient; _secure = secure; _log = log; var netStream = tcpClient.GetStream(); if (secure) { var sslStream = new SslStream( netStream, false, sslConfig.ClientCertificateValidationCallback ); sslStream.AuthenticateAsServer( sslConfig.ServerCertificate, sslConfig.ClientCertificateRequired, sslConfig.EnabledSslProtocols, sslConfig.CheckCertificateRevocation ); _stream = sslStream; } else { _stream = netStream; } var sock = tcpClient.Client; _serverEndPoint = sock.LocalEndPoint; _userEndPoint = sock.RemoteEndPoint; _request = HttpRequest.Read(_stream, 90000); _websocket = new WebSocket(this, protocol); }
public MOTR_WebserverFactory(string webRoot, MOTR_Sessions sessions, MOTR_Users users, MOTR_Dirs dirs, MOTR_Queue queue, MOTR_Admin _admin, MOTR_Downloads _downloads, IWebSocketLogger logger, MOTR_Webserver _webserver) { _logger = logger; _webRoot = string.IsNullOrWhiteSpace(webRoot) ? GetWebRoot() : webRoot; m_Sessions = sessions; m_Users = users; m_Dirs = dirs; m_Queue = queue; m_WebServer = _webserver; m_Admin = _admin; m_Downloads = _downloads; if (!Directory.Exists(_webRoot)) { _logger.Warning(this.GetType(), "Web root not found: {0}", _webRoot); } else { _logger.Debug(this.GetType(), "Web root: " + _webRoot); } }
public BadRequestService(Stream stream, string header, IWebSocketLogger logger) { _stream = stream; _header = header; _logger = logger; }
public HttpPostService(Stream stream, int nError, IWebSocketLogger logger) { _stream = stream; _logger = logger; nErrorCode = nError; }
public ChatWebSocketService(Stream stream, TcpClient tcpClient, string header, IWebSocketLogger logger) : base(stream, tcpClient, header, true, logger) { _logger = logger; }
public ChatWebSocketClient(bool noDelay, IWebSocketLogger logger) : base(noDelay, logger) { }
public WebServer(IServiceFactory serviceFactory, IWebSocketLogger logger) { _serviceFactory = serviceFactory; _logger = logger; _openConnections = new List <IDisposable>(); }
public WebSocketBase(IWebSocketLogger logger) { _logger = logger; _sendLocker = new object(); _isOpen = false; }
public static void initLogger(ListBox debugList, ListBox chatlist) { _logger = new WebSocketLogger(debugList, chatlist); }
public SockHandler(Stream stream, TcpClient tcpClient, string header, IWebSocketLogger logger, MethodMan methodMan) : base(stream, tcpClient, header, true, logger) { _logger = (WebLogger)logger; this.methodMan = methodMan; }