Skocz do zawartości
  • Cześć!

    Witaj na forum RootNode - aby pisać u nas musisz się zarejestrować, a następnie zalogować. Posty pisane z kont niezarejestrowanych nie są widoczne publicznie.

[PHP] ping po php na konkretny port


Damianoo
 Udostępnij

Rekomendowane odpowiedzi

Hej,

Chce zrobić ping po php na konkretny port

No i robię tak jak poniżej.

Cały czas mi pokazuje, że działa nawet jak wyłączę usługę na tym porcie.

Dlaczego? Bo nie mam już pomysłu.

 

<?php
$fp = @fsockopen( 'udp://127.0.0.110', 12871, $errno, $errstr, 30 );
if ( !$fp )
{
  echo 'Blee';
}
else
{
  echo 'DZIAŁA :)';
}
?>

 

Odnośnik do komentarza
Udostępnij na innych stronach

 ss -unpl
State       Recv-Q Send-Q                                                                         Local Address:Port                                                                                        Peer Address:Port
UNCONN      0      0                                                                                          *:44044                                                                                                  *:*
UNCONN      0      0                                                                                          *:9987                                                                                                   *:*
UNCONN      0      0                                                                                          *:68                                                                                                     *:*
UNCONN      0      0                                                                               127.0.0.110:123                                                                                                    *:*
UNCONN      0      0                                                                                  127.0.0.1:123                                                                                                    *:*
UNCONN      0      0                                                                                          *:123                                                                                                    *:*
UNCONN      0      0                                                                                         :::46410                                                                                                 :::*
UNCONN      0      0                                                                                         :::9987                                                                                                  :::*
UNCONN      0      0                                                             fe80::f816:3eff:fefb:e954%ens3:123                                                                                                   :::*
UNCONN      0      0                                                                                        ::1:123                                                                                                   :::*
UNCONN      0      0                                                                                         :::123                                                                                                   :::*

 

ip a s lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
 

Odnośnik do komentarza
Udostępnij na innych stronach

4 minuty temu, mariaczi napisał:

Usuń znak "@" sprzed fsockopen i zobacz czy nie wyświetla czegoś przy wykonywaniu skryptu. Upewnij się, że masz włączone w php.ini wyświetlanie błędów.

 

Tak mam włączone display_errors na on

Po usunięciu @ nic więcej się nie pokazało.

Odnośnik do komentarza
Udostępnij na innych stronach

1 godzinę temu, l3szcz napisał:

Daj jeszcze error_reporting(E_ALL) 

 

Efekt nijaki.

zmieniłem na tcp

usluga dziala a on sypie error
Warning: fsockopen(): unable to connect to tcp://127.0.0.110:12871 (Connection refused) in /var/www/html/s1.php on line 177
Blee

 

generalnie jest to serwer gry... i on nie działa raczej na protokole tcp oraz udp... dlatego raczej nie wyjdzie to co chciałem zrobić.

Odnośnik do komentarza
Udostępnij na innych stronach

11 minut temu, Damianoo napisał:

 

Hurtworld

Obecnie użyłem obrazka z gametrackera na ikonę online / offline..., ale to takie trochę lipne... rozwiązanie.

Nie wiem, czy to zadziała, musiałbym sobie postawić serwer do Hurtworld i przetestować, ale sprawdź jak np.: https://github.com/avignat/Check-Server-Status sprawdza status serwera:

<?php
    function getStatus($ip, $port) {
        $socket = @fsockopen($ip, $port, $errorNo, $errorStr, 2);
        if (!$socket) return false;
        else return true;
    }

Moim zdaniem powinno wszystko łapać, ale może masz coś na FW, albo HW nie odpowiada, tylko trzeba np.: przez jakiś rcon sprawdzać status? Jak nie zapomnę, odpalę u siebie HW i napiszę coś na ten wzór. Dodatkowo jak to stawiasz na tej samej maszynie, możesz weryfikować, czy coś na porcie po prostu stoi i czy proces HW jest odpalony.

Odnośnik do komentarza
Udostępnij na innych stronach

6 godzin temu, otlet napisał:

Nie wiem, czy to zadziała, musiałbym sobie postawić serwer do Hurtworld i przetestować, ale sprawdź jak np.: https://github.com/avignat/Check-Server-Status sprawdza status serwera:

<?php
    function getStatus($ip, $port) {
        $socket = @fsockopen($ip, $port, $errorNo, $errorStr, 2);
        if (!$socket) return false;
        else return true;
    }

Moim zdaniem powinno wszystko łapać, ale może masz coś na FW, albo HW nie odpowiada, tylko trzeba np.: przez jakiś rcon sprawdzać status? Jak nie zapomnę, odpalę u siebie HW i napiszę coś na ten wzór. Dodatkowo jak to stawiasz na tej samej maszynie, możesz weryfikować, czy coś na porcie po prostu stoi i czy proces HW jest odpalony.

Sprawdzę i dam znać, ale robiłem podobne kombinacje i też była lipa.

Serwer HW działa i nic innego na ten port się nie bija jak zgaszę HW to portu nic nie używa.

 

4 godziny temu, MateuszCODE napisał:

W C# możesz zrobić socket JSON z danymi uptime itp i za pomocą tego odczytasz w PHP

Nie znam C#

4 godziny temu, Poziomecki napisał:

gameq tego nie obsługuje?

O widzisz :) Sprawdzę i dam znać.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z forum, wyrażasz zgodę na: Warunki użytkowania, Regulamin, Polityka prywatności.