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); }
/// <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); }