Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Klasa do sprawdzania statusu serwera
Dominator
post
Post #1





Grupa: Zarejestrowani
Postów: 565
Pomógł: 15
Dołączył: 11.10.2010

Ostrzeżenie: (20%)
X----


Witajcie
Napisałem sobie klasę do sprawdzania statusu serwera (włączony/wyłączony). Możecie go ocenić? (pod względem czy jest napisany poprawnie).

  1. <?php
  2.  
  3. Class Status
  4. {
  5. public function Get($ip, $port)
  6. {
  7. global $msg;
  8. $this->ip = $ip;
  9. $this->port = $port;
  10. $this->msg = $msg;
  11. $connection = fsockopen($this->ip, $this->port, $errorNo, $errorStr, 3);
  12. if($connection)
  13. {
  14. $this->msg = "Server is UP";
  15. }
  16. else
  17. {
  18. $this->msg = "Server is DOWN";
  19. }
  20. }
  21. public function Display()
  22. {
  23. echo $this->msg;
  24. }
  25. }
  26.  
  27. $pub = new Status();
  28. $pub->Get("25.135.219.119","25565");
  29. $pub->Display();
  30.  
  31. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rocktech.pl
post
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Witam.

1. Nazwa klasy jest zbyt ogólna (czy używając tej klasy zobaczę obciążenie procesora na serwerze?)
2. Metoda Set() (ale co ..), jak już to użyj setterów setIP setPort
3. Connect() owszem można i tak ale niech Connect() wykonuje tylko operacje łączenia
4. Własność msg ma się nijak + - i, wyświetlaj (plus,OK,COOL,NICE) lub (minus,FAIL,BAD,WRONG) w zależności do statusu tu jest to wręcz zakazane

  1. <?php
  2.  
  3. class ServerConnectionStatus
  4. {
  5.  
  6. public $ip = null;
  7. public $port = null;
  8. public $active = false;
  9.  
  10. public function __construct($ip, $port = 80)
  11. {
  12.  
  13. $this->ip = $ip;
  14. $this->port = $port;
  15. }
  16.  
  17. public function check()
  18. {
  19. $con = @fsockopen($this->ip, $this->port, $errorNo, $errorStr, 3);
  20. if ( is_resource($con) ) {
  21. $this->active = true;
  22. } else {
  23. $this->active = false;
  24. throw new RuntimeException($errorStr);
  25. }
  26. }
  27.  
  28. public function isActive()
  29. {
  30. return $this->active;
  31. }
  32.  
  33. }


  1. $serverCStatus = new ServerConnectionStatus('localhost', 80);
  2. try {
  3. $serverCStatus->check();
  4. echo $serverCStatus->isActive() ? '+' : '-';
  5. } catch ( Exception $e ) {
  6. echo $e->getMessage();
  7. }
Go to the top of the page
+Quote Post

Posty w temacie


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: 8.10.2025 - 11:40