Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Serverin tilanne

Juska [19.09.2012 16:57:12]

#

Eli yritän saada tällä koodilla aikaan Minecraft serverini tilannetta:

<?php
$online = @fsockopen("IP osoite", Portin numero, $errno, $errstr, 1);
if($online >= 1) {
echo 'Päällä!';
}
else {
echo 'Kiinni!';
}
?>

Mutta vaikka laitan portit ja IPn oikein niin se ilmoittaa jatkuvasti että se on kiinni.


Mikä voisi olla vikana?

Jiffy [19.09.2012 17:09:02]

#

Voisiko ongelmana olla tuo if lause? Eli ennemmin näin:

if($online)

Metabolix [19.09.2012 17:11:58]

#

Oletko edes yrittänyt selvittää vikaa? Aivan yksinkertaisin asia, jonka voit tehdä, on virheilmoitusten katsominen – tässä tapauksessa siis muuttujista $errno ja $errstr.

Ehkä palvelimeltasi ei voi ottaa yhteyttä kyseiseen osoitteeseen tai porttiin. Esimerkiksi monista webhotelleista ei voi ottaa yhteyttä kuin joihinkin yleisimpiin portteihin (kuten 80 ja 443).

Juska [19.09.2012 17:24:48]

#

Voiko tota portti juttua (siis että mihinkä portteihin voi yhdisttää) niin selvittää jotenkin? Ja lisäksi siihen ei tule virhe ilmoitusta. Se vaan näyttää että kiinni.

mietinvaan [19.09.2012 17:38:00]

#

että jos ottais ton @ merkin pois tosta eestä nii se ei estäis mahdollisten virheiden esille suoltamista (edit: no, ei se näköjään toisaalta montaa virhettä edes esille läväyttäisi, mutta kokeile nyt kuitenki)

Sallittujen porttien testaus ei onnistu muuten kuin käymällä ne yksitellen läpi. Kokeile vaikka www.google.com portissa 80 ja katso sanooko se mitään.

Ja vielä tuli asiaa kohdasta errno:

php.net kirjoitti:

If provided, holds the system level error number that occurred in the system-level connect() call.

If the value returned in errno is 0 and the function returned FALSE, it is an indication that the error occurred before the connect() call. This is most likely due to a problem initializing the socket.

Tarkista noi kummatki.

kayttaja-8011 [19.09.2012 21:07:40]

#

Siellä missä tuo php-filu sijaitsee niin voit siitä koneesta ottaa telnetiltä yhteyttä minecraft servuusi. Esim ->

telnet <ip> <portti>

Jos heittää herjaa niin ei voi yhdistää eli jokin blokkaa yhteyden.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta