Example #1
0
        //internal void _CollectData()
        //{
        //	byte[] @out = new byte[this._Client.Available];
        //	this._Client.Client.Receive(@out);
        //	this._CollectedData.Add(@out);
        //}

        private void _SendLoop()
        {
            while (this.IsConnected)
            {
                //if (!this._WantingToSend)
                //{
                //	this._Sending = true;
                if (this._Messages.Count > 0)
                {
                    MekaItem msg = this._Messages[0];
                    byte[]   bs  = msg.ToBytes();

                    DateTime start = DateTime.Now;

                    this._Client.Client.Send(bs);

                    TimeSpan dif = DateTime.Now - start;
                    if (dif.TotalMilliseconds != 0)
                    {
                        this._Speed = bs.Length / 1000.0 / dif.TotalSeconds;
                    }

                    //this._Messages.RemoveAt(0);
                    Interlocked.Exchange <Bunch <MekaItem> >(ref this._Messages, this._Messages.SubBunch(1));
                }
                //this._Sending = false;
                //}
            }
        }