Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 6 Dołączył: 14.02.2007 Skąd: Poznań Ostrzeżenie: (0%)
|
Witam
Jestem w trakcie pisania panelu, który ma mieć funkcje włącz wyłącz serwer. I tu pojawia sie mały problem jak sprawdzić czy dany serwer jest włączony. Znalazłem w internecie metode php ping ale działa ona tylko do adresów ip a ja potrzebuje do adresów i i portów np: 22.22.222.22:8888 Bo mam serwery włączone na 1 adresie ip ale z roznymi portami. Czy jest możliwość sprawdzenia tego ? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 275 Pomógł: 44 Dołączył: 23.11.2007 Ostrzeżenie: (0%)
|
Witam Jestem w trakcie pisania panelu, który ma mieć funkcje włącz wyłącz serwer. I tu pojawia sie mały problem jak sprawdzić czy dany serwer jest włączony. Znalazłem w internecie metode php ping ale działa ona tylko do adresów ip a ja potrzebuje do adresów i i portów np: 22.22.222.22:8888 Bo mam serwery włączone na 1 adresie ip ale z roznymi portami. Czy jest możliwość sprawdzenia tego ? Ping nie sprawdza czy coś jest uruchomione na danym porcie, tylko czy system odpowiada na ping. Ping korzysta z określonego portu. Jeżeli wyślesz zapytanie ping na inny port, to po prostu nie dostaniesz odpowiedzi. Lepiej chyba sprawdzić, czy uda się pobrać stronę z danego adresu, np za pomocą curl'a i czy ta strona będzie miała poprawną zawartość. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 12 Dołączył: 20.01.2008 Skąd: Toruń Ostrzeżenie: (0%)
|
Witam
Skoro już wiesz jak sprawdzić IP - adres hosta, to teraz pozostaje sprawdzić czy dany port jest otwarty na tym hoście. Możesz zrobić to tak:
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 6 Dołączył: 14.02.2007 Skąd: Poznań Ostrzeżenie: (0%)
|
To nie działa już próbowałem .
A chodzi o to ze mam włączone serwer gier. Np adres 1 serwa : 88.23.3.56:7777 adres 2 serwa : 88.23.3.56:7778 I jak sprawdzic czy serwer nr 1 jest włączony czy wyłączony ? |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 275 Pomógł: 44 Dołączył: 23.11.2007 Ostrzeżenie: (0%)
|
To nie działa już próbowałem . A chodzi o to ze mam włączone serwer gier. Np adres 1 serwa : 88.23.3.56:7777 adres 2 serwa : 88.23.3.56:7778 I jak sprawdzic czy serwer nr 1 jest włączony czy wyłączony ? Nie działa w sensie, że nie możesz użyć fsockopen, czy dlatego, że zawsze pokazuje, że port jest zamknięty/otwarty? |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 6 Dołączył: 14.02.2007 Skąd: Poznań Ostrzeżenie: (0%)
|
Funkcje moge uzyc bo mam na kompie php zainstalowane i mam funkcje fsockopen włączoną.
dla przykładu wpisałem ip:port dzialajacego serwera ale php zwrocił mi: Warning: fsockopen() [function.fsockopen]: unable to connect to 62.104.178.12:28960 (Próba połšczenia nie powiodła się, ponieważ połšczona strona nie odpowiedziała poprawnie po ustalonym okresie czasu lub utworzone połšczenie nie powiodło się, ponieważ połšczony host nie odpowiedział. ) in C:\wamp\www\pokaz.php on line 4 Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\pokaz.php on line 4 moj kod php:
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 12 Dołączył: 20.01.2008 Skąd: Toruń Ostrzeżenie: (0%)
|
Zatem spróbuj zacząć przetestować czy poprawnie wszystko działa i ustaw hosta na 127.0.0.1. Być może na tym porcie nie da się połączyć z danym hostem.
|
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 6 Dołączył: 14.02.2007 Skąd: Poznań Ostrzeżenie: (0%)
|
No próbowałem na 5 róznych adresów ip i portów (wszystkie działające) i nic...
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 12 Dołączył: 20.01.2008 Skąd: Toruń Ostrzeżenie: (0%)
|
Dodaj zatem cos takiego przed utworzeniem socketa
|
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 6 Dołączył: 14.02.2007 Skąd: Poznań Ostrzeżenie: (0%)
|
Noo teraz coś się ruszyło już niema błędów ale czy wpisze ip:host serwa włączonego czy wyłączonego to zawsze pokazuje nrport -> zamknięty (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
|
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 5 Dołączył: 22.07.2006 Skąd: Legnica Ostrzeżenie: (0%)
|
moze zamiast TCP trzeba uzyc udp? ;p wiele serwerów gier korzysta z udp ? no ale nie wiem co to za gra... ale może? ;p
|
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 6 Dołączył: 14.02.2007 Skąd: Poznań Ostrzeżenie: (0%)
|
użyłem UDP to mi teraz za kazdym razem pokazuje serwer otwarty nawet jezeli serwer jest wyłączony i nigdzie takiego portu nieuzywam (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
|
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 12 Dołączył: 20.01.2008 Skąd: Toruń Ostrzeżenie: (0%)
|
Sam przetestopwałem ten kod i działa prawidłowo. Powiem tylko tak. Może być logicznym, że uznaje port XXXX za zamknięty, gdyż nie dostaje od niego odpowiedzi.
Zrób sobie test na porcie 80 i od razu zaskoczy. Problem może polegać na tym, że póki nie obsługujesz tego portu ze storny hosta, to nic dziwnego, że otrzymujesz komunikat o jego zamknięciu. EDIT: Żadne pakięty nie są przez dany port wysyłane, to zwracany jest komunikat o jego zamknięciu. Ten post edytował Inti 23.01.2008, 18:25:30 |
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 6 Dołączył: 14.02.2007 Skąd: Poznań Ostrzeżenie: (0%)
|
Ok mam takie cos :
class.php
i 2 plik index.php:
i to działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ale ma pytanie czy da sie jakos skrócić ten skrypt ? a dokladnie plik class. php ? |
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 12 Dołączył: 20.01.2008 Skąd: Toruń Ostrzeżenie: (0%)
|
|
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 6 Dołączył: 14.02.2007 Skąd: Poznań Ostrzeżenie: (0%)
|
Omg no przecież już pisałem że ta krótka komenda nie działa, a tak długa tak !
|
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 12:51 |