Esempio n. 1
0
        //private List<SimpleUser> votedUsers = new List<SimpleUser>();
        //public List<SimpleUser> VotedUsers
        //{
        //    get
        //    {
        //        return votedUsers;
        //    }
        //    set { votedUsers = value; }
        //}

        public override string ToString()
        {
            StringTable table = new StringTable();

            table.Add("threadID", ThreadID.ToString());
            table.Add("itemID", ItemID.ToString());
            table.Add("itemName", m_ItemName.ToString());
            table.Add("pollItemCount", PollItemCount.ToString());

            return(table.ToString());
        }
Esempio n. 2
0
        public void receive()
        {
            //线程临时文件
            string fileName = Form.fileNames[ThreadID];

            //接收缓冲区
            byte[] buffer = new byte[_bufferSize];
            //接收字节数
            int    readSize = 0;
            Stream stream   = null;

            this.WriteLog("   线程[" + ThreadID.ToString() + "] 开始接收......");
            while (true)
            {
                if (!Form.isPause)
                {
                    using (FileStream fileStream = new FileStream(fileName, FileMode.OpenOrCreate))
                    {
                        try
                        {
                            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URI);
                            request.AddRange(Form.restartPos[ThreadID], Form.startPos[ThreadID] + Form.fileSize[ThreadID]);
                            stream   = request.GetResponse().GetResponseStream();
                            readSize = stream.Read(buffer, 0, _bufferSize);
                            while (!Form.isPause && readSize > 0)
                            {
                                fileStream.Write(buffer, 0, readSize);
                                Form.hasReceived[ThreadID] += readSize;
                                this.WriteLog("   线程[" + ThreadID.ToString() + "] 已接收" + Form.hasReceived[ThreadID] + "字节");
                                readSize = stream.Read(buffer, 0, _bufferSize);
                                Thread.Sleep(100);
                            }
                            Form.restartPos[ThreadID] = Form.startPos[ThreadID] + Form.hasReceived[ThreadID];
                            if (Form.hasReceived[ThreadID] < Form.fileSize[ThreadID])
                            {
                                this.WriteLog("   线程[" + ThreadID.ToString() + "] 暂停接收, 已接收" + Form.hasReceived[ThreadID] + "字节");
                            }
                            stream.Close();
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message);
                        }
                    }
                }
                if (Form.hasReceived[ThreadID] >= Form.fileSize[ThreadID] + 1)
                {
                    break;
                }
            }
            Form.threadIsEnd[ThreadID] = true;
            this.WriteLog("   线程[" + ThreadID.ToString() + "] 结束");
        }