/// <summary>
        /// Generates a new data packet for transfer, according to the set up probabilities.
        /// Receipient is determined by random.
        /// </summary>
        private void SendNewDataPacket()
        {
            var generateData = RandomHelper.GenerateData(_conf.NewDataMessageProbability);

            if (generateData)
            {
                //Generat random receiver in constellation (random orbit, random sat), ensure destination is not me
                var orbitNo = RandomHelper.GetRandomNumber(_conf.MinimumOrbitNumber, _conf.NumberOfOrbits);
                var satNo   = RandomHelper.GetRandomNumber(0, _conf.NumberOfSatellitesPerOrbit);

                if (orbitNo == SatPosition.OrbitNumber && satNo == SatPosition.SatNumber)
                {
                    satNo = satNo + 1 % _conf.NumberOfSatellitesPerOrbit; //Dont try to send a message to myself
                }

                var destination = "R" + orbitNo + "S" + satNo;

                //Generate new data message, with random size between min/max values
                var payloadSize    = RandomHelper.GetRandomNumber(_conf.DataMessageMinSizeBytes, _conf.DataMessageMaxSizeBytes + 1);
                var payload        = new DataMsg(payloadSize);
                var outgoingPacket = new Message(payload, destination, LocalAddress, _conf.MessageTtlValue);

                _logger.WriteLine("Generated " + payloadSize + " bytes of data. Sending to " + destination);
                _statistics.AddDataMessageSent(outgoingPacket);
                _network.SendMessage(outgoingPacket);
            }
        }
예제 #2
0
    void Start()
    {
        // image1.gameObject.SetActive(false);     //  初始向下箭头
        //  image2.gameObject.SetActive(false);
        initIcon       = Camera.main.GetComponent <InitServerConfig>();
        DataMsg        = Camera.main.GetComponent <DataMsg>();
        GameObjectPool = new List <GameObject>();
        _instand       = this;



        string path1 =
#if UNITY_EDITOR
            "file://" + Application.dataPath + "/StreamingAssets/";
#elif UNITY_ANDROID
            "jar:file://" + Application.dataPath + "!/assets/";
#elif UNITY_IPHONE
            "file:///" + Application.dataPath + "/Raw/";
#elif UNITY_STANDALONE_WIN || UNITY_EDITOR
            "file://" + Application.dataPath + "/StreamingAssets/";
#else
            string.Empty;
#endif
        PathURL.Add(path1);
    }
예제 #3
0
 void Start()
 {
     bottompanel.SetActive(false);
     _isaddbutton = false;
     _instance    = this;
     currentpanel = homepanel;
     DataMsg      = Camera.main.GetComponent <DataMsg>();
 }
        public void Constructor_ValuesInitialized()
        {
            int size = 10;
            var uut  = new DataMsg(size);

            Assert.AreEqual(size, uut.Size);
            Assert.AreEqual(MessageType.Data, uut.Type);
        }
        public void CopyConstructor_ValuesInitialized()
        {
            int size = 10;
            var dmsg = new DataMsg(size);

            var uut = new DataMsg(dmsg);

            Assert.AreEqual(dmsg.Type, uut.Type);
            Assert.AreEqual(dmsg.Size, uut.Size);
        }
예제 #6
0
 void Start()
 {
     GameObjectPool   = new List <GameObject>();     //  用于添加实例出的Buttons
     SelfButton       = GetComponent <Button>();     //   控制自己
     SelfText         = SelfButton.GetComponentsInChildren <Text>();
     SelfText[0].text = name;
     //SelfText[1].text = englishname;//英语隐藏
     //SelfButton.onClick.AddListener(UImanager._instance.SecondP_button);     //  添加委托绑定
     SelfButton.onClick.AddListener(CreateOBj);
     datamsg       = Camera.main.GetComponent <DataMsg>();
     ProductButton = AddButton._instand.ProductButton2;
     //      parent[1]在Addbutton脚本上已挂好
     Parent = AddButton._instand.DataMsg.parent[1];
 }
예제 #7
0
 private void OnDataEvent(object sender, DataMsg e)
 {
     DebugInfo.text = string.Format("new data: recHostId: {0}, connectionId: {1},channelId:{2},data: {3}", e.HostId, e.ConnectionId, e.ChannelId, e.Msg);
     foreach (ClientInstance item in _clientObjects)
     {
         if (item.ConnectionId == e.ConnectionId)
         {
             item.RecText.text = e.Msg;
         }
     }
     if (_broadcastEnabled)
     {
         MultiSendMessage(e.Msg);
     }
 }
예제 #8
0
        //**********************************************************************

        public void ExecuteTx(CmdLineCmd aCmd)
        {
            aCmd.setArgDefault(1, 1);
            int tMsgType = aCmd.argInt(1);

            switch (tMsgType)
            {
            case 1:
            {
                TestMsg tMsg = new TestMsg();
                Helper.initialize(tMsg);
                Global.mNetworkThread.sendMsg(tMsg);
                break;
            }

            case 2:
            {
                FirstMessageMsg tMsg = new FirstMessageMsg();
                Helper.initialize(tMsg);
                Global.mNetworkThread.sendMsg(tMsg);
                break;
            }

            case 3:
            {
                StatusRequestMsg tMsg = new StatusRequestMsg();
                Helper.initialize(tMsg);
                Global.mNetworkThread.sendMsg(tMsg);
                break;
            }

            case 4:
            {
                StatusResponseMsg tMsg = new StatusResponseMsg();
                Helper.initialize(tMsg);
                Global.mNetworkThread.sendMsg(tMsg);
                break;
            }

            case 5:
            {
                DataMsg tMsg = new DataMsg();
                Helper.initialize(tMsg);
                Global.mNetworkThread.sendMsg(tMsg);
                break;
            }
            }
        }
예제 #9
0
        //**********************************************************************

        public void ExecuteGo4(CmdLineCmd aCmd)
        {
            ByteBuffer tBuffer = new ByteBuffer(1000);
            DataMsg    tTxMsg  = new DataMsg();
            DataMsg    tRxMsg  = null;

            Helper.initialize(tTxMsg);

            MsgMonkey tMonkey = new MsgMonkey();

            tMonkey.putMsgToBuffer(tBuffer, tTxMsg);
            tBuffer.rewind();
            tRxMsg = (DataMsg)tMonkey.makeMsgFromBuffer(tBuffer);

            Helper.show(tRxMsg);
        }
예제 #10
0
 private void Test_DataEvent(object sender, DataMsg e)
 {
     Debug.Log(string.Format("new data: recHostId: {0}, connectionId: {1},channelId:{2},data: {3}", e.HostId, e.ConnectionId, e.ChannelId, e.Msg));
     //throw new NotImplementedException();
     foreach (ClientInstance item in _clientObjects)
     {
         if (item.ConnectionId == e.ConnectionId)
         {
             item.RecText.text = e.Msg;
         }
     }
     if (_broadcastEnabled)
     {
         MultiSendMessage(e.Msg);
     }
 }
예제 #11
0
파일: AppPay.cs 프로젝트: zhenxing86/YYXB
        private AlipayOrder GetFee(string uid, string feeid, string from, string paytype, string key)
        {
            AlipayOrder         fee = null;
            DataMsg             m   = new DataMsg();
            BaseModel <DataSet> bs  = null;
            //创建订单
            IList <TextAndValue> tv = new List <TextAndValue>();

            tv.Add(new TextAndValue("@uid", uid));
            tv.Add(new TextAndValue("@feeid", feeid));
            tv.Add(new TextAndValue("@from", from));
            isFrom(tv, key);
            tv.Add(new TextAndValue("@paytype", paytype));           //1:支付宝,2:微信支付
            string out_trade_no = WxPayApi.GenerateOutTradeNo(from); //请与贵网站订单系统中的唯一订单号匹配

            tv.Add(new TextAndValue("@orderno", out_trade_no));
            bs = com.zgyey.sgspay.core.DataProxy.SGS_PAYProxyData.GetList(tv, "payapp..sgs_CreateOrder", "tb1", "tb2");

            DataSet ds = bs.result;

            m.code = int.Parse(ds.Tables[0].Rows[0][0].ToString());
            m.info = ds.Tables[0].Rows[0][1].ToString();
            if (m.code == 0)
            {
                fee = (
                    from x in ds.Tables[1].AsEnumerable()
                    select new AlipayOrder()
                {
                    feeid = x["fee_id"],
                    orderNo = x["order_no"],
                    feeName = x["fee_name"],
                    fee_des = x["fee_des"],
                    amount = x["fee_money"],
                    crttime = DateTime.Parse(x["crttime"].ToString()).ToString("yyyy-MM-dd HH:mm:ss"),
                    paytype = paytype
                }
                    ).ToList()[0];
            }

            return(fee);
        }
예제 #12
0
    void Awake()
    {
        _instand = this;

        //TimeOut("1/25/2017 4:56:05 PM");
    }
예제 #13
0
 public void Start()
 {
     dataMsg = Camera.main.GetComponent <DataMsg>();
 }
예제 #14
0
 public DataMsg(DataMsg data)
 {
     Size = data.Size;
 }
        //******************************************************************************
        // Rx message handler - DataMsg

        void processRxMsg(DataMsg aMsg)
        {
            Prn.print(Prn.ThreadRun1, "NetworkThread.processRxMsg_DataMsg");
            Helper.show(aMsg);
        }