public TcpClientChannel(IChannelParameters channelparamaters) { _channelParameters = channelparamaters; _serverEndPoint = new IPEndPoint(IPAddress.Parse(_channelParameters.IP), _channelParameters.Port); RemoteHost = _channelParameters.IP; RemotePort = _channelParameters.Port; LocalHost = ""; EOL = "\r"; EOLB = System.Text.Encoding.ASCII.GetBytes("\r"); }
public WebSocketDaemonSB(IChannelParameters channelparameters, string serviceName = "/gain") { _channelParameters = channelparameters; _service = serviceName; _logger = LogManager.GetLogger(typeof(WebSocketDaemonSB)); string webRoot = ""; if (string.IsNullOrEmpty(webRoot) || !Directory.Exists(webRoot)) { string baseFolder = AppDomain.CurrentDomain.BaseDirectory; _logger.WarnFormat("Webroot folder {0} not found. Using application base directory: {1}", webRoot, baseFolder); webRoot = baseFolder; } _serviceFactory = new ServiceFactoryDefault(webRoot, _logger); }
public virtual void OpenBlocking(Uri uri) { try { var isOpen = false; lock (connectSync) { isOpen = _isOpen; } if (isOpen) { return; } string host = uri.Host; int port = uri.Port; _tcpClient = new TcpClient(); _tcpClient.NoDelay = _noDelay; bool useSsl = uri.Scheme.ToLower() == "wss"; IPAddress ipAddress; if (IPAddress.TryParse(host, out ipAddress)) { _tcpClient.Connect(ipAddress, port); } else { _tcpClient.Connect(host, port); } if (_channelParameters == null) { _channelParameters = new ChannelParameters(port, host); } _stream = GetStream(_tcpClient, useSsl, host); _uri = uri; // _socket = _tcpClient.Client; _writer = new WebSocketFrameWriter(_stream); PerformHandshake(_stream); lock (connectSync) { _isOpen = true; } if (_socket.Connected) { if (_channelParameters.TimeOut > 0) { _socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, _channelParameters.TimeOut); _socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, _channelParameters.TimeOut); } _socketHandler = new SocketHandler(_socket, _channelParameters.BufferSize); _socketHandler.Received += sh_received; _socketHandler.Disconnected += sh_disconnected; _socketHandler.ConnectionId = ConnectionId; _frameBuilder.ConnectionId = ConnectionId; _socketHandler.Start(); OnConnectionOpened(); } else { lock (connectSync) { _isOpen = false; } if (OnError != null) { OnError(this, new ErrorEventArgs(-1, "Cannot connect to remote host.")); } } } catch (SocketException se) { if (OnError != null) { OnError(this, new ErrorEventArgs(se.ErrorCode, se.Message)); } } catch (Exception e) { if (OnError != null) { OnError(this, new ErrorEventArgs(-1, e.Message)); } } }
public WebSocketClient(IChannelParameters channelParameters, bool noDelay, ILog logger) : this(noDelay, logger) { _channelParameters = channelParameters; }
public IPDaemon(IChannelParameters channelparameters) { _channelParameters = channelparameters; }
public WebSocketDaemonSB(IChannelParameters channelparameters, X509Certificate2 sslCertificate, string serviceName = "/gain") : this(channelparameters, serviceName) { _sslCertificate = sslCertificate; }