作者 主題: 限制一次下載兩個  (閱讀 18012 次)

0 會員 與 1 訪客 正在閱讀本文。

wilson

  • 俺是博士!
  • *****
  • 文章數: 1821
  • 帥氣柴老大
    • 檢視個人資料
限制一次下載兩個
« 於: 2003-08-18 01:01 »
請問~~有辦法做到限制同一個來源只能一同時下載兩個檔案嗎??
就是說~~如果我有十個檔案要下載~~我只能一次下載兩個~~
正在下載那兩個中的任何一個下載完了之後~~才能再下載第三個~~
謝謝

reggie

  • 活潑的大學生
  • ***
  • 文章數: 386
    • 檢視個人資料
限制一次下載兩個
« 回覆 #1 於: 2003-08-18 01:16 »
寫script判斷netstat -a   ?

wilson

  • 俺是博士!
  • *****
  • 文章數: 1821
  • 帥氣柴老大
    • 檢視個人資料
限制一次下載兩個
« 回覆 #2 於: 2003-08-18 01:32 »
~~~感謝回應~~
忘記說了~~我是指透過80 port下載~~
除了netstat之外~~不知還有沒有其他方法??

ozakipw

  • 憂鬱的高中生
  • ***
  • 文章數: 190
    • 檢視個人資料
限制一次下載兩個
« 回覆 #3 於: 2003-08-18 09:02 »
找一下bandwidth module 應該有您要的功能!!
http://modules.apache.org
img]http://61.222.212.236/~test1/sing.jpg[/img]

wilson

  • 俺是博士!
  • *****
  • 文章數: 1821
  • 帥氣柴老大
    • 檢視個人資料
限制一次下載兩個
« 回覆 #4 於: 2003-08-18 09:51 »
嗯~~謝謝
我去看看~~ :P

ozakipw

  • 憂鬱的高中生
  • ***
  • 文章數: 190
    • 檢視個人資料
限制一次下載兩個
« 回覆 #5 於: 2003-08-18 10:30 »
記得跟大夥說一下結果喔...
我正在煩惱如何把apache 2.x換成1.3.x

引述: "wilson"
嗯~~謝謝
我去看看~~ :P
img]http://61.222.212.236/~test1/sing.jpg[/img]

paulso

  • 俺是博士!
  • *****
  • 文章數: 1966
    • 檢視個人資料
限制一次下載兩個
« 回覆 #6 於: 2003-08-18 12:05 »
可以以 upgrade 的方法來降 grade 嗎?
又或者... uninstall => install

wilson

  • 俺是博士!
  • *****
  • 文章數: 1821
  • 帥氣柴老大
    • 檢視個人資料
限制一次下載兩個
« 回覆 #7 於: 2003-08-18 13:19 »
引述: "paulso"
可以以 upgrade 的方法來降 grade 嗎?
又或者... uninstall => install


不好意思
請問paulso兄~~這是什麼??

wilson

  • 俺是博士!
  • *****
  • 文章數: 1821
  • 帥氣柴老大
    • 檢視個人資料
限制一次下載兩個
« 回覆 #8 於: 2003-08-18 13:20 »
引述: "ozakipw"
記得跟大夥說一下結果喔...
我正在煩惱如何把apache 2.x換成1.3.x


嗯~~看完再和大家討論   :P   謝謝

paulso

  • 俺是博士!
  • *****
  • 文章數: 1966
    • 檢視個人資料
限制一次下載兩個
« 回覆 #9 於: 2003-08-18 20:46 »
引述: "wilson"
引述: "paulso"
可以以 upgrade 的方法來降 grade 嗎?
又或者... uninstall => install


不好意思
請問paulso兄~~這是什麼??

2.x => 1.x.x

wilson

  • 俺是博士!
  • *****
  • 文章數: 1821
  • 帥氣柴老大
    • 檢視個人資料
限制一次下載兩個
« 回覆 #10 於: 2003-08-18 21:06 »
引述: "paulso"
引述: "wilson"
引述: "paulso"
可以以 upgrade 的方法來降 grade 嗎?
又或者... uninstall => install


不好意思
請問paulso兄~~這是什麼??

2.x => 1.x.x


喔~~了解~~ :D

ozakipw

  • 憂鬱的高中生
  • ***
  • 文章數: 190
    • 檢視個人資料
限制一次下載兩個
« 回覆 #11 於: 2003-08-19 22:26 »
最後小弟利用/usr/local/在裝一套apache....1.3.27起來跑8080 port...
img]http://61.222.212.236/~test1/sing.jpg[/img]

wilson

  • 俺是博士!
  • *****
  • 文章數: 1821
  • 帥氣柴老大
    • 檢視個人資料
限制一次下載兩個
« 回覆 #12 於: 2003-09-09 01:13 »
引述: "ozakipw"
找一下bandwidth module 應該有您要的功能!!
http://modules.apache.org


嗯~~因為之前沒時間用~~這幾天才繼續用
但是發現這個模組好像也達不到我的要求呢~~
我是要限制每各IP只能連一線  
還是我不會用??(我有看完document阿)

暫時先用程式做了

kayung

  • 懷疑的國中生
  • **
  • 文章數: 71
    • 檢視個人資料
限制一次下載兩個
« 回覆 #13 於: 2003-09-09 11:30 »
可以把你用程式的作法分享出來嗎,謝謝
我這邊提供一下我的方法,實作過沒問題,應該可以達到你的需求
如果有錯請各位學長指教。

rpm -qa |grep mod_bandwidth
確定mod_bandwidth有安裝
編輯 /etc/httpd/conf/httpd.conf
把以下兩個注解拿掉
LoadModule bandwidth_module   modules/mod_bandwidth.so
AddModule mod_bandwidth.c
加上
BandWidthModule On
設目錄流量和最大連線數
<Directory "/var/www/html">
         MaxConnection 4
         BandWidth 172.18.88 30000
         BandWidth 172.18.22 0
         BandWidth all 10240
</Directory>
限定來自172.18.88.0/24 的流量只有30kbyte/sec
172.18.22.0/24 的沒限制流量,其餘的限制10k的流量
MaxConnection代表同時只能下載檔案個數
4為兩個、5為三個………….

在 /tmp下creat一個apachebw的目錄
#mkdir –p /tmp/apachebw/link
#mkdir /tmp/apachebw/master
#chown apache:apache /tmp/apachebw –R
要有MaxConnection 的功能需去ftp://ftp.cohprog.com/pub/apache/module/1.3.0/
下載最新的mod_bandwidth.c回來裝上去
#apxs -c /path/mod_bandwidth.c -o /usr/lib/apache/mod_bandwidth.so
#service httpd restart

參考網站http://www.cohprog.com/v3/bandwidth/doc-en.html

wilson

  • 俺是博士!
  • *****
  • 文章數: 1821
  • 帥氣柴老大
    • 檢視個人資料
限制一次下載兩個
« 回覆 #14 於: 2003-09-09 13:30 »
引述: "kayung"
BandWidthModule On
設目錄流量和最大連線數
<Directory "/var/www/html">
         MaxConnection 4
         BandWidth 172.18.88 30000
         BandWidth 172.18.22 0
         BandWidth all 10240
</Directory>


嗯~~感謝您的分享~~
不過上面這些設定~~似乎達不到我的需求
(我要限的是最大連線數  且是by IP來限制 不是by Dir 就像proftpd的Maxclient及Maxhost一樣)
你上面這樣的設定應該是:
在/var/www/html 這目錄下的東西(包含子目錄)最大連線數只能同時有四個
不管來自那邊的IP都一樣~~反正加起來超過四個後~~第五個就不能連了
而下面的Mandwith那邊是可以by IP沒錯~~不過似乎是以”總量”來限
也就是說在這目錄下的下載量加起來只可達你所限的量
以上是我之前的測試結果

至於程式  現在打算用PHP來做~~還沒寫好  測試當中

ozakipw

  • 憂鬱的高中生
  • ***
  • 文章數: 190
    • 檢視個人資料
限制一次下載兩個
« 回覆 #15 於: 2003-09-11 17:03 »
php寫好可否教導一下...Thanks
img]http://61.222.212.236/~test1/sing.jpg[/img]

wilson

  • 俺是博士!
  • *****
  • 文章數: 1821
  • 帥氣柴老大
    • 檢視個人資料
限制一次下載兩個
« 回覆 #16 於: 2003-09-11 20:11 »
引述: "ozakipw"
php寫好可否教導一下...Thanks


嗯~~~程式這幾天已經寫好~~測試過了~~可正常執行並達到我的需求
(我的需求已改為同一個user同時只能一次下載一個)
關鍵在於
http://tw2.php.net/manual/en/features.connection-handling.php
你可以參考看看

ozakipw

  • 憂鬱的高中生
  • ***
  • 文章數: 190
    • 檢視個人資料
限制一次下載兩個
« 回覆 #17 於: 2003-09-30 11:17 »
失敗了~~~
請問wilson 是否可將該程式email給小弟參考??
ozakipw@yahoo.com.tw
感謝~
img]http://61.222.212.236/~test1/sing.jpg[/img]

wilson

  • 俺是博士!
  • *****
  • 文章數: 1821
  • 帥氣柴老大
    • 檢視個人資料
限制一次下載兩個
« 回覆 #18 於: 2003-09-30 14:16 »
嗯~~不如把你的程式貼出來看看~~相信版上的學長們會幫你看看那邊有問題的
貼出來大家才知道你的問題在那

peiga

  • 憂鬱的高中生
  • ***
  • 文章數: 117
    • 檢視個人資料
限制一次下載兩個
« 回覆 #19 於: 2003-09-30 16:59 »
重點是不是在:
引用
To prevent a double click of the submit button, you can disable it with javascript or in your script you can set a flag for that order, which will be recorded into the database. Before accept a new submission, the script will check if the same order was not placed before and reject it. This will work fine, as the script have finished the job before.


是不是在ignore_user_abort(true)之後
if (connection_abort()) 不行下載
else 可以下載

或是還在再搭配set_time_limit()????

請指點指點~~
謝謝~~
:-3

wilson

  • 俺是博士!
  • *****
  • 文章數: 1821
  • 帥氣柴老大
    • 檢視個人資料
限制一次下載兩個
« 回覆 #20 於: 2003-09-30 20:18 »
或許有其它做法~~而我的做法是將使用者的狀態記錄在資料庫裡
由資料庫狀態去判斷給不給下載
而這之間要克服的當然就是”如果使用者斷線呢?!”
也就是說要做到不管user是正常下載完或者是斷線
我們都要知道

程式沒幾行~~只要了解
1.Connection handling
2.register_shutdown_function()
這樣就沒問題了  http://tw2.php.net/manual/en/features.connection-handling.php