public static void ResetNetworkSystem()
        {
            NetworkConnection.ResetRequested             = true;
            BannedPartsResourcesWindow.Singleton.Display = false;

            if (ClientConnection.Status > NetPeerStatus.NotRunning)
            {
                ClientConnection.Shutdown("Disconnected");
                Thread.Sleep(1000);
            }

            if (SendThread != null && !SendThread.IsCompleted)
            {
                SendThread.Wait(1000);
            }
            if (ReceiveThread != null && !ReceiveThread.IsCompleted)
            {
                ReceiveThread.Wait(1000);
            }

            NetworkConnection.ResetRequested = false;

            ReceiveThread = SystemBase.LongRunTaskFactory.StartNew(NetworkReceiver.ReceiveMain);
            SendThread    = SystemBase.LongRunTaskFactory.StartNew(NetworkSender.SendMain);
        }
Beispiel #2
0
        public static void ResetNetworkSystem()
        {
            NetworkConnection.ResetRequested = true;

            if (ClientConnection?.Status > NetPeerStatus.NotRunning)
            {
                ClientConnection.Shutdown("Disconnected");
                Thread.Sleep(1000);
            }

            ClientConnection = new NetClient(Config);
            ClientConnection.Start();

            if (SendThread != null && !SendThread.IsCompleted)
            {
                SendThread.Wait(1000);
            }
            if (ReceiveThread != null && !ReceiveThread.IsCompleted)
            {
                ReceiveThread.Wait(1000);
            }

            NetworkConnection.ResetRequested = false;

            ReceiveThread = SystemBase.LongRunTaskFactory.StartNew(NetworkReceiver.ReceiveMain);
            SendThread    = SystemBase.LongRunTaskFactory.StartNew(NetworkSender.SendMain);
        }
Beispiel #3
0
        public static void ResetNetworkSystem()
        {
            NetworkConnection.ResetRequested = true;

            ClientConnection = new NetClient(Config);
            ClientConnection.Start();

            NetworkServerList.RefreshMasterServers();

            if (SendThread != null && !SendThread.IsCompleted)
            {
                SendThread?.Wait(1000);
            }
            if (ReceiveThread != null && !ReceiveThread.IsCompleted)
            {
                ReceiveThread?.Wait(1000);
            }

            NetworkConnection.ResetRequested = false;

            ReceiveThread = SystemBase.LongRunTaskFactory.StartNew(NetworkReceiver.ReceiveMain);
            SendThread    = SystemBase.LongRunTaskFactory.StartNew(NetworkSender.SendMain);

            NetworkServerList.RequestServers();
        }
        public static async Task Main()
        {
            SendThread.Start(CancellationToken.Token);
            RecieveThread.Start(CancellationToken.Token);

            Console.WriteLine("Welcome!  You can send anything to simulate a process or 'q' to quit");

            while (true)
            {
                string command = Console.ReadLine();

                if (command.ToLower() == "q")
                {
                    CancellationToken.Cancel();

                    SendThread.Join();
                    RecieveThread.Join();

                    CancellationToken.Dispose();

                    return;
                }

                Console.WriteLine(await SendData(command));
            }
        }
Beispiel #5
0
        public static void ResetNetworkSystem()
        {
            NetworkConnection.ResetRequested    = true;
            BannedPartsWindow.Singleton.Display = false;

            if (ClientConnection?.Status > NetPeerStatus.NotRunning)
            {
                ClientConnection.Shutdown("Disconnected");
                Thread.Sleep(1000);
            }

            //This will set the NetPeerConfiguration locked as FALSE and allow to change MTU and other advanced stuff
            Config = Config.Clone();

            ClientConnection = new NetClient(Config);

            if (SendThread != null && !SendThread.IsCompleted)
            {
                SendThread.Wait(1000);
            }
            if (ReceiveThread != null && !ReceiveThread.IsCompleted)
            {
                ReceiveThread.Wait(1000);
            }

            NetworkConnection.ResetRequested = false;

            ReceiveThread = SystemBase.LongRunTaskFactory.StartNew(NetworkReceiver.ReceiveMain);
            SendThread    = SystemBase.LongRunTaskFactory.StartNew(NetworkSender.SendMain);
        }
 private void SendMessage()
 {
     try
     {
         KeepSendingMessages();
     }
     finally
     {
         SendThread.Abort();
     }
 }
    void Put_onAttack()
    {
        Message shit = new Message()
        {
            type = 4,
            Type = num.id.ToString(),
            v3   = moveDirection
        };

        SendThread.put(shit);
    }
 private void RecieveMessage()
 {
     try
     {
         KeepRecievingMessages();
     }
     finally
     {
         SendThread.Abort();
     }
 }
    void Put_Skill3()
    {
        Message shit = new Message()
        {
            type = 7,
            Type = num.id.ToString(),
            v3   = moveDirection
        };

        SendThread.put(shit);
    }
Beispiel #10
0
        public virtual void Dispose()
        {
            try { RcvThread.Abort(); }
            catch { }

            try { SendThread.Abort(); }
            catch { }

            _newRcvTelegram.Dispose();
            _newSendTelegram.Dispose();
            _newSendNotifyTelegram.Dispose();
        }
Beispiel #11
0
        private void SendMessages(Stream networkStream)
        {
            var writer = new BinaryWriter(networkStream);

            try
            {
                KeepSendingMessages(writer);
            }
            finally
            {
                SendThread.Abort();
            }
        }
Beispiel #12
0
        public static void StartNetworkSystem()
        {
            Config.EnableMessageType(NetIncomingMessageType.ConnectionLatencyUpdated);
            Config.EnableMessageType(NetIncomingMessageType.NatIntroductionSuccess);
            Config.EnableMessageType(NetIncomingMessageType.UnconnectedData);

            ClientConnection = new NetClient(Config);
            ClientConnection.Start();

            NetworkServerList.RefreshMasterServers();
            SendThread.Start(TaskScheduler.Default);
            ReceiveThread.Start(TaskScheduler.Default);
            NetworkServerList.RequestServers();
        }
Beispiel #13
0
            public void Run()
            {
                // FIXME: move this all to a connect function
                List <Thread>     clients     = new List <Thread>();
                List <RecvThread> recvThreads = new List <RecvThread>();
                IPAddress         ip          = IPAddress.Any;

                l = new TcpListener(ip, 8001);

                // start server thread
                var server = new SendThread(_sockets, _queue, _hash);

                _server = new Thread(server.Run);
                _server.Start();
                while (!_server.IsAlive)
                {
                }

                l.Start();
                while (!_stop)
                {
                    try
                    {
                        Socket s = l.AcceptSocket();
                        s.SendTimeout    = 500;
                        s.ReceiveTimeout = 500;
                        _sockets.Add(s);

                        // start a thread for that connection
                        var t = new RecvThread(s, _queue, _hash);
                        recvThreads.Add(t);
                        _threads.Add(new Thread(t.Run));
                        _threads.Last().Start();
                    }
                    catch (SocketException e)
                    {
                        // interrupted
                    }
                }

                server.Stop();
                foreach (var r in recvThreads)
                {
                    r.Stop();
                }
                l.Stop();
            }
Beispiel #14
0
 /* private void FixedUpdate()
  * {
  *       Vector3 moveDirection = new Vector3(dir.normalized.x, 0, dir.normalized.y) * Mathf.Cos(angel);
  *       moveDirection = -moveDirection * num.speed * 0.03f;
  *       Message f**k = new Message()
  *       {
  *           type = 3,
  *           Type = num.id.ToString(),
  *           v3 = moveDirection
  *       };
  *       SendThread.put(f**k);
  *
  * }*/
 IEnumerator getInput()
 {
     while (true)
     {
         //print ("f**k");
         Vector3 moveDirection = new Vector3(dir.normalized.x, 0, dir.normalized.y) * Mathf.Cos(angel);
         moveDirection = -moveDirection * num.speed * 0.06f;
         Message f**k = new Message()
         {
             type = 3,
             Type = num.id.ToString(),
             v3   = moveDirection
         };
         SendThread.put(f**k);
         yield return(new WaitForSeconds(0.03f));
     }
 }
 IEnumerator getInput()
 {
     while (true)
     {
         //print ("f**k");
         moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
         moveDirection = moveDirection * speed * 0.03f;
         Message f**k = new Message()
         {
             type = 3,
             Type = num.id.ToString(),
             v3   = moveDirection
         };
         //string shit = moveDirection.x.ToString() + " " + moveDirection.z.ToString ();
         //Logout.Log(shit);
         SendThread.put(f**k);
         yield return(new WaitForSeconds(0.03f));
     }
 }
        private void button3_Click(object sender, EventArgs e)
        {
            Packet cp = new Packet();
            string hexString = "7c423d5858"; //data
            byte[] more_data = Packet.StringToByteArray(hexString); //data
            cp.init_CLIENT_P3(packet_cnt++, more_data);

            this.textBox1.Text = "Packet: " + cp.toHexString() + "\r\n";
            this.textBox1.Text += "------------------------------------------" + "\r\n";
            this.textBox1.Text += "PCK_SIZE = " + cp.getPCK_SIZE() + " (" + cp.getPCK_SIZE_HexString() + ")" + "\r\n";
            this.textBox1.Text += "PCK_CNT  = " + cp.getPCK_CNT() + " (" + cp.getPCK_CNT_HexString() + ")" + "\r\n";
            this.textBox1.Text += "PCK_ID   = " + cp.getPCK_ID() + " (" + cp.getPCK_ID_HexString() + ")" + "\r\n";
            this.textBox1.Text += "PCK_CRC  = " + cp.getPCK_CRC_HexString() + "\r\n";
            this.textBox1.Text += "------------------------------------------" + "\r\n";


            SendThread st = new SendThread(cp.getRawPacket(), this, this.textBoxIP.Text);

            Thread t = new Thread(new ThreadStart(st.ThreadProc));
            t.Start();
        }
Beispiel #17
0
        private void button2_Click(object sender, EventArgs e)
        {
            Packet cp = new Packet();

            cp.init_CLIENT_P2(packet_cnt++, (byte)0xAB);

            this.textBox1.Text  = "Packet: " + cp.toHexString() + "\r\n";
            this.textBox1.Text += "------------------------------------------" + "\r\n";
            this.textBox1.Text += "PCK_SIZE = " + cp.getPCK_SIZE() + " (" + cp.getPCK_SIZE_HexString() + ")" + "\r\n";
            this.textBox1.Text += "PCK_CNT  = " + cp.getPCK_CNT() + " (" + cp.getPCK_CNT_HexString() + ")" + "\r\n";
            this.textBox1.Text += "PCK_ID   = " + cp.getPCK_ID() + " (" + cp.getPCK_ID_HexString() + ")" + "\r\n";
            this.textBox1.Text += "PCK_CRC  = " + cp.getPCK_CRC_HexString() + "\r\n";
            this.textBox1.Text += "------------------------------------------" + "\r\n";


            SendThread st = new SendThread(cp.getRawPacket(), this, this.textBoxIP.Text);

            Thread t = new Thread(new ThreadStart(st.ThreadProc));

            t.Start();
        }
Beispiel #18
0
            public void Run()
            {
                // FIXME: move this all to a connect function
                TcpClient c = new TcpClient();

                try
                {
                    c.Connect("localhost", 8001);
                    c.SendTimeout    = 500;
                    c.ReceiveTimeout = 500;

                    var send = new SendThread(_q, c);
                    _sendThread = new Thread(send.Run);
                    _sendThread.Start();
                    while (!_sendThread.IsAlive)
                    {
                    }

                    var recv = new RecvThread(_r, c);
                    _recvThread = new Thread(recv.Run);
                    _recvThread.Start();
                    while (!_recvThread.IsAlive)
                    {
                    }

                    // TODO: is there anything to add here?
                    _event.WaitOne();
                    _event.Reset();

                    send.Stop();
                    recv.Stop();

                    _r.Stop();
                    _q.Stop();
                }
                catch (SocketException e)
                {
                    // connection refused
                }
            }
Beispiel #19
0
        private void button4_Click(object sender, EventArgs e)
        {
            Packet cp = new Packet();

            byte[] more_data = new byte[5] {
                0x30, 0x66, 0x45, 0x22, 0x5d
            };
            cp.init_CLIENT_P4(packet_cnt++, more_data);

            this.textBox1.Text  = "Packet: " + cp.toHexString() + "\r\n";
            this.textBox1.Text += "------------------------------------------" + "\r\n";
            this.textBox1.Text += "PCK_SIZE = " + cp.getPCK_SIZE() + " (" + cp.getPCK_SIZE_HexString() + ")" + "\r\n";
            this.textBox1.Text += "PCK_CNT  = " + cp.getPCK_CNT() + " (" + cp.getPCK_CNT_HexString() + ")" + "\r\n";
            this.textBox1.Text += "PCK_ID   = " + cp.getPCK_ID() + " (" + cp.getPCK_ID_HexString() + ")" + "\r\n";
            this.textBox1.Text += "PCK_CRC  = " + cp.getPCK_CRC_HexString() + "\r\n";
            this.textBox1.Text += "------------------------------------------" + "\r\n";


            SendThread st = new SendThread(cp.getRawPacket(), this, this.textBoxIP.Text);

            Thread t = new Thread(new ThreadStart(st.ThreadProc2));

            t.Start();
        }
        public bool Start()
        {
            lp = new LocalParams();
            if (!dbexec.IsConn(lp.SqlConnStr))
            {
                SMSLog.Debug("SmsService==>Init=>sql登录失败[" + lp.SqlConnStr + "]");
                return(false);
            }
            MySqlDBExec.ConnectionstringLocalTransaction = lp.SqlConnStr;
            _cstDic         = new Dictionary <int, SendThread>();
            _cmppAccountDic = new Dictionary <int, AccountInfoModel>();
            //初始数据标识
            string sql1 = "update t_sendsms set CTSubmitStatus=0 Where  CTGatewayNum='" + lp.GateWayNum + "'";
            string sql2 = "update t_smsmobile_t set  smsFlag='0' where SubmitStatus='0' and GatewayNum='" + lp.GateWayNum + "'";
            int    re1  = MySqlDBExec.ExecuteNonQuery(sql1, null);

            SMSLog.Debug("SmsService==>Init初始内容表:" + re1);
            int re2 = MySqlDBExec.ExecuteNonQuery(sql2, null);

            SMSLog.Debug("SmsService==>Init初始手机号码表:" + re2);


            cache          = new TimeoutCache(60 * 30);//缓存
            ReportQueue    = new SMDQueue[_reportQueueNum];
            ReportSeqQueue = new SMDQueue[_reportQueueNum];
            for (int i = 0; i < _reportQueueNum; i++)
            {
                string title = "Report_" + i;
                ReportQueue[i] = new SMDQueue(title);
                ReportQueue[i].Start(3000);

                string seqt = "ReportSeq_" + i;
                ReportSeqQueue[i] = new SMDQueue(seqt);
                ReportSeqQueue[i].Start(4000);
            }

            /*
             * GlobalModel.UpdateMobileSubmitStateHandler = this.UpdateMobileSubmitState;
             * GlobalModel.UpdateReportStateHandler = this.UpdateReportState;
             * GlobalModel.UpdateMobileByBatchNumHandler = this.UpdateMobileByBatchNum;
             * GlobalModel.UpdateSMSContentSubmitStatuHandler = this.UpdateSMSContentSubmitStatu;
             * GlobalModel.DeleteContentHandler = this.DeleteContent;
             * GlobalModel.SaveMoHandler = this.SaveMo;
             * */

            //读取企业CMPP账号信息
            List <AccountInfoModel> accountLst = LoadCmppAccount();

            if (accountLst != null && accountLst.Count > 0)
            {
                foreach (AccountInfoModel m in accountLst)
                {
                    SendThread cmpp = new SendThread(m);

                    if (cmpp.Login())
                    {
                        _cstDic.Add(m.eprId, cmpp);
                        _cmppAccountDic.Add(m.eprId, m);
                        cmpp.IsSend = true;
                        cmpp.Start();
                    }
                    else
                    {
                        SMSLog.Debug("SmsService==>Init[" + m.eprId + "]登录失败");
                    }
                    Thread.Sleep(10);
                }
            }
            else
            {
                SMSLog.Debug("SmsService==>[Init]读取cmpp账号失败");
                return(false);
            }

            GlobalModel.IsStopCollect = false;
            CollectObject_Business co = new CollectObject_Business();

            _collDataTimer = new Timer(new TimerCallback(CollectThread), co, lp.ReadContentDealy, lp.ReadContentDealy);
            SMSLog.Debug("SmsService==>[Init]启动成功");
            return(true);
        }
Beispiel #21
0
    void Awake()
    {
        //create obj
        string redTag  = "";
        string blueTag = "";
        ST     pp      = ST.getInstance();

        //print (pp.P);
        if (pp.P == 1)
        {
            redTag  = "Player";
            blueTag = "P2";
        }
        else
        {
            redTag  = "P2";
            blueTag = "Player";
        }
        Red.parent   = GameObject.FindWithTag("Red").transform;
        Red.yasuo    = Resources.Load("Prefabs/taunt", typeof(GameObject));
        Red.HPPrefab = Resources.Load("Prefabs/HPCanvas", typeof(GameObject));
        GameObject yasuo = null;

        MakeObject(redTag, Red.rotate, Red.yasuodis, Red.parent, Red.yasuo, ref yasuo);
        Vector3 V1 = yasuo.transform.position; V1.z -= 10; yasuo.transform.position = V1;

        //yasuo.AddComponent<CharacterController> ();
        //yasuo.GetComponent<CharacterController> ().center = new Vector3(0,1,0);
        //yasuo.AddComponent<CC_test> ();
        //yasuo.AddComponent<Numeric> ();
        yasuo.GetComponent <Numeric>().tagString = redTag;


        Blue.parent = GameObject.FindWithTag("Blue").transform;
        Blue.yasuo  = Resources.Load("Prefabs/taunt", typeof(GameObject));
        GameObject yasuo2 = null;

        MakeObject(blueTag, Blue.rotate, Blue.yasuodis, Blue.parent, Blue.yasuo, ref yasuo2);
        Vector3 V3 = yasuo2.transform.position; V3.z += 10; yasuo2.transform.position = V3;

        //yasuo2.AddComponent<Numeric> ();
        yasuo2.GetComponent <Numeric> ().id       = 2;
        yasuo2.GetComponent <Numeric>().tagString = blueTag;
        if (pp.P == 1)
        {
            yasuo2.AddComponent <P2> ();
            yasuo.AddComponent <PlayerController> ();
            //GameObject.FindWithTag ("MainCamera").transform = Red.parent;
        }
        else
        {
            yasuo.AddComponent <P2> ();
            yasuo2.AddComponent <PlayerController> ();
            //GameObject.FindWithTag ("MainCamera").transform = Blue.parent;
        }

        GameObject.FindWithTag("MainCamera").AddComponent <MainCameraControl> ();
        //Application.runInBackground = true;
        //net
        SendThread.start();
        ReceiveThread.start();

        GameObject baseRed = null, baseBlue = null;
        GameObject redBartizan1 = null, redBartizan2 = null, redBartizan3 = null;
        GameObject blueBartizan1 = null, blueBartizan2 = null, blueBartizan3 = null;

        Red.baseHome        = Resources.Load("Prefabs/Monster_base_red", typeof(GameObject));
        Red.bartizanPrefab  = Resources.Load("Prefabs/Monster_bartizan_red", typeof(GameObject));
        Blue.baseHome       = Resources.Load("Prefabs/Monster_base_blue", typeof(GameObject));
        Blue.bartizanPrefab = Resources.Load("Prefabs/Monster_bartizan_blue", typeof(GameObject));

        MakeObject("Untagged", Red.rotate, Red.bartDis0, Red.parent, Red.baseHome, ref baseRed);
        MakeObject("Untagged", Blue.rotate, Blue.bartDis0, Blue.parent, Blue.baseHome, ref baseBlue);
        //红塔
        MakeObject("Untagged", Red.rotate, Red.bartDis1, Red.parent, Red.bartizanPrefab, ref redBartizan1);
        MakeObject("Untagged", Red.rotate, Red.bartDis2, Red.parent, Red.bartizanPrefab, ref redBartizan2);
        MakeObject("Untagged", Red.rotate, Red.bartDis3, Red.parent, Red.bartizanPrefab, ref redBartizan3);
        //蓝塔
        MakeObject("Untagged", Blue.rotate, Blue.bartDis1, Blue.parent, Blue.bartizanPrefab, ref blueBartizan1);
        MakeObject("Untagged", Blue.rotate, Blue.bartDis2, Blue.parent, Blue.bartizanPrefab, ref blueBartizan2);
        MakeObject("Untagged", Blue.rotate, Blue.bartDis3, Blue.parent, Blue.bartizanPrefab, ref blueBartizan3);
    }
        public void AddQueue(int eprId, SmsModel sms)
        {
            bool ispriority = false;

            foreach (string str in Keyword)
            {
                if (sms.content.Contains(str))
                {
                    ispriority = true;
                    break;
                }
            }
            QueueItem qi = new QueueItem();

            qi.InQueueTime = DateTime.Now;
            qi.MsgObj      = sms;
            qi.MsgState    = 0;
            qi.MsgType     = (uint)Cmpp_Command.CMPP_SUBMIT;
            qi.Sequence    = sms.id;

            if (_cstDic.ContainsKey(eprId))
            {
                if (ispriority)
                {
                    _cstDic[eprId].AddPriorityQueue(qi);
                }
                else
                {
                    _cstDic[eprId].AddNormalQueue(qi);
                }
            }
            else
            {
                AccountInfoModel ai = this.GetAccountInfo(sms.eprId);
                if (ai != null)
                {
                    SendThread cmpp = new SendThread(ai);

                    if (cmpp.Login())
                    {
                        if (!_cstDic.ContainsKey(ai.eprId))
                        {
                            _cstDic.Add(ai.eprId, cmpp);
                        }
                        if (!_cmppAccountDic.ContainsKey(ai.eprId))
                        {
                            _cmppAccountDic.Add(ai.eprId, ai);
                        }
                        cmpp.AddPriorityQueue(qi);
                        cmpp.IsSend = true;
                        cmpp.Start();
                    }
                    else
                    {
                        this.DeleteContent(sms.contentId);
                        UpdateMobileSubmitState(sms.id + "", "-1", "", "CMPP账号登录失败", "");
                        SMSLog.Debug("SmsService==>AddQueue[" + ai.eprId + "]登录失败");
                    }
                }
                else
                {
                    this.DeleteContent(sms.contentId);
                    UpdateMobileSubmitState(sms.id + "", "-1", "", "无CMPP账号", "");
                }
            }
        }
Beispiel #23
0
 public void EndSending()
 {
     SendThread.Abort();
 }
Beispiel #24
0
 public virtual void StartCommunication()
 {
     RcvThread.Start();
     SendThread.Start();
 }