當前位置: 首頁>>代碼示例>>C#>>正文


C# Proxy.close方法代碼示例

本文整理匯總了C#中System.Proxy.close方法的典型用法代碼示例。如果您正苦於以下問題:C# Proxy.close方法的具體用法?C# Proxy.close怎麽用?C# Proxy.close使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在System.Proxy的用法示例。


在下文中一共展示了Proxy.close方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: connect

        public void connect(int connectTimeout)
        {
            if(_isConnected)
            {
                throw new JSchException("session is already connected");
            }
            io=new IO();
            if(random==null)
            {
                try
                {
                    random = (Random)System.Activator.CreateInstance(System.Type.GetType(getConfig("random")));
                }
                catch(Exception e)
                {
                    System.Console.Error.WriteLine("connect: random "+e);
                }
            }
            Packet.setRandom(random);

            try
            {
                int i, j;
                //int pad=0;

                if(proxy==null)
                {
                    proxy=jsch.getProxy(host);
                    if(proxy!=null)
                    {
                        lock(proxy)
                        {
                            proxy.close();
                        }
                    }
                }

                if(proxy==null)
                {
                    Stream In;
                    Stream Out;
                    if(socket_factory==null)
                    {
                        socket=Util.createSocket(host, port, connectTimeout);
                        In=new NetworkStream(socket);
                        Out=new NetworkStream(socket);
                    }
                    else
                    {
                        socket=socket_factory.createSocket(host, port);
                        In=socket_factory.getInputStream(socket);
                        Out=socket_factory.getOutputStream(socket);
                    }
                    //if(timeout>0){ socket.setSoTimeout(timeout); }
                    socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.NoDelay, true);
                    io.setInputStream(In);
                    io.setOutputStream(Out);
                }
                else
                {
                    lock (proxy)
                    {
                        proxy.connect(socket_factory, host, port, connectTimeout);
                        io.setInputStream(proxy.getInputStream());
                        io.setOutputStream(proxy.getOutputStream());
                        socket=proxy.getSocket();
                    }
                }

                if (connectTimeout > 0 && socket != null)
                {
                    socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, connectTimeout);
                    socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, connectTimeout);
                }

                _isConnected=true;

                while(true)
                {

                    i=0;
                    j=0;
                    while(i<buf.buffer.Length)
                    {
                        j=io.getByte();
                        if(j<0)break;
                        buf.buffer[i]=(byte)j; i++;
                        if(j==10)break;
                    }
                    if(j<0)
                    {
                        throw new JSchException("connection is closed by foreign host");
                    }

                    if(buf.buffer[i-1]==10)
                    {    // 0x0a
                        i--;
                        if(buf.buffer[i-1]==13)
                        {  // 0x0d
                            i--;
//.........這裏部分代碼省略.........
開發者ID:yash0924,項目名稱:csharputils,代碼行數:101,代碼來源:Session.cs

示例2: connect

        public void connect(int connectTimeout)
        {
            if(random==null)
            {
                try
                {
                    Type t=Type.GetType(getConfig("random"));
                    random=(Random)(Activator.CreateInstance(t));
                }
                catch(Exception e){ Console.Error.WriteLine("connect: random "+e); }
            }
            Packet.setRandom(random);

            try
            {
                int i, j;
                //int pad=0;

                if(proxy==null)
                {
                    proxy=jsch.getProxy(host);
                    if(proxy!=null)
                    {
                        lock(proxy)
                        {
                            proxy.close();
                        }
                    }
                }
                IPEndPoint ipe=null;
                if(proxy==null)
                {
                    Stream ins;
                    Stream outs;
                    if(socket_factory==null)
                    {
                        if(connectTimeout==0)
                        {
                            ipe = new IPEndPoint(Dns.GetHostByName(host).AddressList[0], port);
                            socket=new Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
                        }
                        //			String message="";
                        //			Thread tmp=new Thread(new Runnable(){
                        //			public void run(){
                        //			try{
                        //				sockp[0]=new Socket(host, port);
                        //				if(done[0]){
                        //				if(sockp[0]!=null){
                        //				sockp[0].close();
                        //				sockp[0]=null;
                        //				}
                        //				}
                        //				else thread.interrupt();
                        //			}
                        //			catch(Exception e){
                        //				ee[0]=e;
                        //				thread.interrupt();
                        //				if(sockp[0]!=null){
                        //				try{
                        //				sockp[0].close();
                        //				sockp[0]=null;
                        //				}catch(Exception eee){}
                        //				}
                        //			}
                        //			}
                        //			});
                        //			tmp.start();
                        //			try{
                        //			Thread.sleep(connectTimeout);
                        //			message="timeout: ";
                        //			}
                        //			catch(java.lang.InterruptedException eee){
                        //			tmp.interrupt();
                        //			tmp=null;
                        //			System.gc();
                        //			}
                        //			done[0]=true;
                        //			if(sockp[0]!=null){
                        //			socket=sockp[0];
                        //			}
                        //			else{
                        //			message+="socket is not established";
                        //			if(ee[0]!=null){
                        //			message=ee[0].toString();
                        //			}
                        //			throw new JSchException(message);
                        //			}
                        //		}
                        socket.Connect(ipe);
                        NetworkStream ns = new NetworkStream( socket );
                        ins=ns;
                        outs=ns;
                    }
                    else
                    {
                        socket=socket_factory.createSocket(host, port);
                        ins=socket_factory.getInputStream(socket);
                        outs=socket_factory.getOutputStream(socket);
                    }
                    if(timeout>0)
//.........這裏部分代碼省略.........
開發者ID:mzkabbani,項目名稱:cSharpProjects,代碼行數:101,代碼來源:Session.cs


注:本文中的System.Proxy.close方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。