Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][PHP]Skrypt php na wiele portów
KyrieAnn
post 29.01.2012, 03:51:30
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 29.01.2012

Ostrzeżenie: (0%)
-----


Witajcie.
Prawdę mówiąc nie mam nikogo znajomego, który ogarnął moje pytanie.
I kolejna prawda, chcę się w jawny sposób posłużyć kimś, kto mi pomoże zakochany.gif

A więc, mam skrypt php, ot taki sobie:

  1. <?php
  2. $funzocker = "xxx.xxx.xxx.xxx";
  3. $ip = gethostbyname($funzocker);
  4. $portlist=array(11002);
  5. $i=0;
  6. foreach ($portlist as $port){
  7. $online = @fsockopen($ip, $port, $errno, $errstr, 1);
  8. if (!$online)
  9. {
  10. echo "<font color='#CC0000'>Offline</font>";
  11. }
  12. else
  13. {
  14. echo "<font color='#457b1a'>Online</font>";
  15. }
  16. @fclose($online);
  17. $i++;
  18. }
  19. ?>


I teraz moje pytanie.

Jak widać jest tu jeden port a ja chciałabym aby było kilka.
I jak zawsze jest jedno ale.

Czy da się zrobić tak, aby było przy założeniu, że tu będzie 5 portów:

Jeśli wszystkie odpowiedzą no to będzie Online (czyli tak, jak jest)
Jak nie odpowie żaden, to będzie Offline (czyli tak, jak jest)
Ale któryś odpowie a któryś nie, to czy można tam wstawić np Busy?

Z góry kocham osobę, która pomoże smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
mortus
post 29.01.2012, 12:07:37
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


No ale to przecież nic trudnego:
  1. <?php
  2. $funzocker = "xxx.xxx.xxx.xxx";
  3. $ip = gethostbyname($funzocker);
  4. $portlist = array(11002, 11010, 11011, 11003, 11001);
  5. foreach($portlist as $port) {
  6. $link = @fsockopen($ip, $port, $errno, $errstr, 1);
  7. if(!$link) {
  8. $busy = (isset($busy) && $busy) || (isset($online) && $online) ? true : false;
  9. $online = false;
  10. } else {
  11. $busy = (isset($busy) && $busy) || (isset($online) && !$online) ? true : false;
  12. $online = true;
  13. }
  14. @fclose($link);
  15. }
  16. if(isset($busy) && $busy) {
  17. echo "<font color='#CC0000'>Busy</font>";
  18. } else {
  19. if($online) {
  20. echo "<font color='#457b1a'>Online</font>";
  21. } else {
  22. echo "<font color='#CC0000'>Offline</font>";
  23. }
  24. }
  25. ?>


EDIT1: Coś poknociłem. Sprawdzcie proszę, bo nie mam jakoś głowy dzisiaj.
EDIT2: Tak jest lepiej.

Ten post edytował mortus 29.01.2012, 13:00:28
Go to the top of the page
+Quote Post
prowseed
post 29.01.2012, 12:19:59
Post #3





Grupa: Zarejestrowani
Postów: 433
Pomógł: 64
Dołączył: 29.01.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $funzocker = "xxx.xxx.xxx.xxx";
  3. $ip = gethostbyname($funzocker);
  4. $portlist=array(11002,80,23,514,26000);
  5. $i=0;
  6. foreach ($portlist as $port){
  7. $online = @fsockopen($ip, $port, $errno, $errstr, 1);
  8. if (!$online) $i++;
  9. @fclose($online);
  10. }
  11. if($i==5) echo "Offline";
  12. if(($i<5) and ($i!=0)) echo "Busy";
  13. if($i==0) echo "Online";
  14. ?>


//EDIT
ups, spoznialski jestem snitch.gif
//EDIT2
tam byl blad maly, poprawilem : )

Ten post edytował prowseed 29.01.2012, 14:25:11


--------------------
Go to the top of the page
+Quote Post
zegarek84
post 29.01.2012, 13:56:46
Post #4





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


jakby czasami Cię interesowała asynchroniczna komunikacja w PHP na socketach:
http://wezfurlong.org/blog/2005/may/guru-multiplexing/ - tytułem wstępu, dalej już będziesz wiedziała czym się kierować lub czego szukać...


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
KyrieAnn
post 29.01.2012, 17:10:53
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 29.01.2012

Ostrzeżenie: (0%)
-----


Cytat(zegarek84 @ 29.01.2012, 13:56:46 ) *
jakby czasami Cię interesowała asynchroniczna komunikacja w PHP na socketach:
http://wezfurlong.org/blog/2005/may/guru-multiplexing/ - tytułem wstępu, dalej już będziesz wiedziała czym się kierować lub czego szukać...


Ale ja tylko chciałam skrypt php.gif

Dziękuję tym, którzy się postarali.
Pozdrawiam bardzo serdecznie.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 14:29