Пример #1
0
        public client()
        {
            uuid          = System.Guid.NewGuid().ToString();
            timer         = new service.timerservice();
            modulemanager = new common.modulemanager();

            var _process = new juggle.process();

            _gate_call_client = new module.gate_call_client();
            _gate_call_client.onconnect_gate_sucess += on_ack_connect_gate;
            _gate_call_client.onconnect_hub_sucess  += on_ack_connect_hub;
            _gate_call_client.onack_heartbeats      += on_ack_heartbeats;
            _gate_call_client.oncall_client         += on_call_client;
            _process.reg_module(_gate_call_client);
            _conn = new service.connectnetworkservice(_process);
            _conn.onChannelDisconnect += on_disconnect;

            var _udp_process = new juggle.process();

            _gate_call_client_fast = new module.gate_call_client_fast();
            _gate_call_client_fast.onconfirm_refresh_udp_end_point += onconfirm_refresh_udp_end_point;
            _gate_call_client_fast.oncall_client += on_call_client;
            _udp_process.reg_module(_gate_call_client_fast);
            _udp_conn = new service.udpconnectnetworkservice(_udp_process);

            _juggleservice = new service.juggleservice();
            _juggleservice.add_process(_process);
            _juggleservice.add_process(_udp_process);

            _heartbeats           = 0;
            _is_enable_heartbeats = false;
        }
Пример #2
0
        public robot(String[] args)
        {
            config.config _config = new config.config(args[0]);
            if (args.Length > 1)
            {
                _config = _config.get_value_dict(args[1]);
            }

            var log_level = _config.get_value_string("log_level");

            if (log_level == "debug")
            {
                log.log.logMode = log.log.enLogMode.Debug;
            }
            else if (log_level == "release")
            {
                log.log.logMode = log.log.enLogMode.Release;
            }
            var log_file = _config.get_value_string("log_file");

            log.log.logFile = log_file;
            var log_dir = _config.get_value_string("log_dir");

            log.log.logPath = log_dir;
            {
                if (!System.IO.Directory.Exists(log_dir))
                {
                    System.IO.Directory.CreateDirectory(log_dir);
                }
            }

            Int64 robot_num = _config.get_value_int("robot_num");

            _ip   = _config.get_value_string("ip");
            _port = (short)_config.get_value_int("port");

            _udp_ip   = _config.get_value_string("udp_ip");
            _udp_port = (short)_config.get_value_int("udp_port");

            timer         = new service.timerservice();
            modulemanager = new common.modulemanager();

            _tcp_process      = new juggle.process();
            _gate_call_client = new module.gate_call_client();
            _gate_call_client.onconnect_gate_sucess += on_ack_connect_gate;
            _gate_call_client.onconnect_hub_sucess  += on_ack_connect_hub;
            _gate_call_client.oncall_client         += on_call_client;
            _gate_call_client.onack_heartbeats      += on_ack_heartbeats;
            _tcp_process.reg_module(_gate_call_client);
            _conn = new service.connectnetworkservice(_tcp_process);

            _udp_process           = new juggle.process();
            _gate_call_client_fast = new module.gate_call_client_fast();
            _gate_call_client_fast.onconfirm_refresh_udp_end_point += on_confirm_refresh_udp_end_point;
            _gate_call_client_fast.oncall_client += on_call_client;
            _udp_process.reg_module(_gate_call_client_fast);
            _udp_conn = new service.udpconnectnetworkservice(_udp_process);

            _juggleservice = new service.juggleservice();
            _juggleservice.add_process(_tcp_process);

            proxys = new Dictionary <juggle.Ichannel, client_proxy>();

            _max_robot_num = robot_num;
            _robot_num     = 0;
        }