Exemple #1
0
        public ListenManager(string uris, int port, IRunner runner)
        {
            uri = new Sockets.Uri(uris);
            if ("ssl" == uri.Protocol)
            {
                var certfile = Executable.Relative("SharpTerminal.pfx");
                certificate = new X509Certificate2(certfile, "none");
            }

            input    = new ConcurrentQueue <byte[]>();
            output   = new ConcurrentQueue <byte[]>();
            listener = new TcpListener(IPAddress.Parse(uri.HostOrIp), port);
            listener.Start();
            endpoint = listener.LocalEndpoint;

            accepter = Task.Factory.StartNew(AcceptLoop, TaskCreationOptions.LongRunning);
        }
Exemple #2
0
        public SocketManager(string uris, int port)
        {
            uri   = new Sockets.Uri(uris);
            input = new ConcurrentQueue <byte[]>();
            //standalone app may be closed anytime so long timeout
            socket = Sockets.ConnectWithTimeout(uri.HostOrIp, port, 1000);
            if ("tcp" == uri.Protocol)
            {
                stream = socket.GetStream();
            }
            if ("ssl" == uri.Protocol)
            {
                stream = Sockets.SslWithTimeout(socket, 1000);
            }
            endpoint           = socket.Client.RemoteEndPoint;
            socket.SendTimeout = 1000;

            reader = Task.Factory.StartNew(ReadLoop, TaskCreationOptions.LongRunning);
        }