예제 #1
0
 protected override ProxySocket GetSocket()
 {
     //if (socket == null)
     {
         socket               = new ProxySocket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
         socket.ProxyType     = (ProxyTypes)(int)proxy.ProxyType;
         socket.ProxyEndPoint = QQPort.GetEndPoint(this.proxy.ProxyHost, this.proxy.ProxyPort);
         //socket.SetSocketOption(SocketOptionLevel.Udp, SocketOptionName.SendTimeout, 3000);
     }
     return(socket);
 }
예제 #2
0
 /// <summary>
 /// 确认指定的PortName的连接存在
 /// </summary>
 /// <param name="serverHost">The server host.</param>
 /// <param name="port">The port.</param>
 /// <param name="portName">Name of the port.</param>
 /// <param name="start">if set to <c>true</c> [start].</param>
 public bool EnsureConnection(string portName, bool start)
 {
     if (ConnectionPool.HasConnection(portName) && ConnectionPool.GetConnection(portName).IsConnected)
     {
         return(true);
     }
     else
     {
         IConnection conn = QQPort.GetPort(portName).Create(QQClient, QQClient.LoginServerHost, QQClient.LoginPort, start);
         if (conn == null)
         {
             return(false);
         }
     }
     return(true);
 }