Ejemplo n.º 1
0
        //MARK: Connect Operations
        public void Connect(string ip, uint port, ProtocolType type, string dhp = null)
        {
            _type = type;
            Log(string.Format("Connect ProtocolType.{0} ip:{1} port:{2} dhp:{3}", type, ip, port, dhp));

            _sequence = 0;
            _protocol = new ProtocolPackage();

            if (dhp == null)
            {
                dhp = _dhp;
            }

            if (type == ProtocolType.UDP)
            {
                _connector = IApollo.Instance.CreateApolloConnection(ApolloPlatform.None, "lwip://" + ip + ":" + port);
            }
            else
            {
                _connector = IApollo.Instance.CreateApolloConnection(ApolloPlatform.None, "tcp://" + ip + ":" + port);
            }

            _connector.ConnectEvent    += new ConnectEventHandler(ApolloConnectHandler);
            _connector.RecvedDataEvent += new RecvedDataHandler(ApolloRecievedDataEventHandler);
            _connector.ErrorEvent      += new ConnectorErrorEventHandler(ApolloErrorHandler);
            _connector.DisconnectEvent += new DisconnectEventHandler(ApolloDisconnectHandler);
            _connector.ReconnectEvent  += new ReconnectEventHandler(ApolloReconnectHandler);

            _connector.SetSecurityInfo(ApolloEncryptMethod.None, ApolloKeyMaking.None, dhp);
            ApolloResult r = _connector.Connect();

            Log(string.Format("Connect... ApolloResult.{0}", r));
        }