Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][PHP]Skrypt php na wiele portów
KyrieAnn
post
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 (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
mortus
post
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
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 (IMG:style_emoticons/default/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
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ć...
Go to the top of the page
+Quote Post
KyrieAnn
post
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 (IMG:style_emoticons/default/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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 03:44