# Online/Offline Status vom Stream!



## AlphaCPU (16. Februar 2004)

Hallo zusammen,

Bin neu hier im Board und habe folgendes Problem.
Ich würde gerne wissen, ob in dem Script irgend etwas falsch ist, weil ich es heute getestet hatte und obwohl der Stream Offline war zeigte es ONLINE an.
Ich hoffe ihr könnt mir weiter helfen.


```
<?php
echo '<html>
        <title>Radio Status</title>
        <body bgcolor="#3C0005">
		<body topmargin="1" leftmargin="16">';
echo '<font face="Verdana" size="2" color="white">Radio ist: </font>';

if(!(@fsockopen("xxx.xxx.xxx.xxx",8000,&$errno,&$errstr,2))){
  echo '<font face=Verdana size="2" color="red"><b>OFFLINE</b></font>';
  die();
}  

echo '<font face="Verdana" size="2" color="green"><b>ONLINE</b></font>';




echo '  </body>
      </html>';
?>
```

Mfg AlphaCPU


----------



## Ben Ben (16. Februar 2004)

naja zu dem if kommt auch noch ein else und dann kannst du dir das die sparen (also zum einen)


```
if(!(@fsockopen("xxx.xxx.xxx.xxx",8000,&$errno,&$errstr,2)))
  echo '<font face=Verdana size="2" color="red"><b>OFFLINE</b></font>';
else
  echo '<font face="Verdana" size="2" color="green"><b>ONLINE</b></font>';
```

also bei mir gibts damit bisher keine probleme...Wobei das auch nur heisst, dass auf dem Port ein Connect stattfinden kann.
Aber du kannst ja auch mal schauen was in errno und errstr steht.


----------



## AlphaCPU (16. Februar 2004)

Hi,

Danke das du mir soweit geholfen hast, leider habe ich nicht erwähnt, dass ich keine ahnung von php habe und somit auch nicht weiss, was deine veränderungen auswirken.
Wäre nett wenn du mal des script so komplett nochma hinschreibst wie es funktionieren würde, dann kann ichs ja nochmal testen. Wäre dir sehr dankbar

Gruss AlphaCPU


----------



## kevin19 (9. Februar 2006)

Ich habe das problem, dass ich jedesmal wenn ich den status meines servers abrufen will einen timeout bekomme, aber der server ist online und in der firewall sind die ports auch freigegeben. hat jemand ne ahnung woran das liegen kann? bin schon kurz vorm verzweifeln  gruß kevin


----------



## Dennis Wronka (10. Februar 2006)

Hi, willkommen im Forum.

Zeig doch mal bitte den Code her den Du dafuer benutzt. Anhand dessen kann man vielleicht feststellen wo das Problem liegt.


----------



## kevin19 (10. Februar 2006)

```
@fsockopen('kalimo.mine.nu',9000,&$errno,&$errstr,10)
```

habe das in meine eigene templateengine eingebunden...via templatescripting
im template sieht das dann so aus:


```
".(fsockopen('kalimo.mine.nu',9000,&$errno,&$errstr,10)?"
<!-- radio -->
<div style=\"margin-top: 5px;\">
 <div class=\"dbtitle\">
  <div class=\"dtitle mediumfont bold\">
   <a href=\"javascript:openw('radio.php?sid=$sid',600,200);\">$lang_main[PSO]</a>
  </div>
 </div>
 <div class=\"dbrow1\">
  <div class=\"drow1 smallfont\">
   <br />
  </div>
 </div>
 <div class=\"dbspacer\"><div></div></div>
</div>
<!-- End radio-->":"")."
```

der server is on, ich kann den stream auch "empfangen"... allerdings bekomme ich nen timeout.


```
Warning: fsockopen() [function.fsockopen]: unable to connect to www.kalimo.mine.nu:4662 (Connection timed out) in /customers/kalimo.net/kalimo.net/httpd.www/partyscout/radio.php(35) : eval()'d code on line 24
```


----------



## Dennis Wronka (10. Februar 2006)

Irgendwie passt was Du postest nicht zusammen:

```
fsockopen('kalimo.mine.nu',9000,&$errno,&$errstr,10)
```
kann schlecht diese Warnung werfen


> Warning: fsockopen() [function.fsockopen]: unable to connect to http://www.kalimo.mine.nu:4662


----------



## kevin19 (10. Februar 2006)

ja sorry. die fehlermeldung war von nem anderen test...

die fehlermeldung sieht dann halt dementsprechend aus...


```
Warning: fsockopen() [function.fsockopen]: unable to connect to kalimo.mine.nu:9000 (Connection timed out) in /customers/kalimo.net/kalimo.net/httpd.www/partyscout/radio.php(35) : eval()'d code on line 24
```


----------



## Dennis Wronka (11. Februar 2006)

Ich hab grad mal ein wenig rumgespielt und bin zu folgendem Ergebnis gekommen:

Der Server steht offensichtlich bei Dir zuhause, da ein Reverse-DNS-Query der aufgeloesten IP einen T-Online-DialIn-Hostnamen zurueck gibt.
Port 4662 und 9000 werden als gefiltert angezeigt, Pakete gehen hin, es kommen aber keine zurueck.
Um zu testen ob der Host online ist hab ich erstmal einen Ping probiert. Auch dort kam nichts zurueck.
Dann hab ich einfach mal auf Port 80 geschaut, der ist offen. Ein Verbindungsaufbau funktioniert.
Das alles laesst mich nun folgendes vermuten:

Du nutzt einen Router um in's Internet zu gehen. Pakete an nicht geoeffnete Ports werden einfach gedroppt.
Der Rechner der den Stream bereitstellt ist hinter diesem Router.
Du hast die Ports nicht vom Router zu diesem Rechner weitergeleitet.
Du selbst kannst den Stream sehen weil Du im gleichen Netzwerk bist und Deine Pakete Dein LAN niemals verlassen muessen um den Stream zu bekommen, selbst wenn Du die externe IP (ueber Deinen Hostnamen) nutzt.
PHP kann die Ports nicht oeffnen weil Du nicht auf einem Server im LAN testest sondern von Deiner Website.
Das ganze ist also, wenn meine Vermutungen richtig sind, kein PHP-Problem, sondern ein Netzwerk-Problem.

Aber bis das bestaetigt ist lasse ich den Thread erstmal hier im PHP-Forum.


----------



## kevin19 (11. Februar 2006)

joa, stimmt alles. ist vielleicht besser, wenn du den thread dann ins netzwerkforum verschiebst. allerdings lässt sich der rechner anpingen... 

richtig, der server hängt hinter nem router im internet. im router hab ich den portbereich 8999 bis 9001 freigegeben. die portumleitung hab ich für den server für den port 9000 eingestellt. fehlt da jetzt noch was? DNS funktioniert. Hab ich da noch irgendwas vergessen? was ich jetzt nicht ganz verstehe...ich kann den radiostream ja problemlos empfangen...


----------



## kevin19 (12. Februar 2006)

Dennis Wronka hat gesagt.:
			
		

> Du selbst kannst den Stream sehen weil Du im gleichen Netzwerk bist und Deine Pakete Dein LAN niemals verlassen muessen um den Stream zu bekommen, selbst wenn Du die externe IP (ueber Deinen Hostnamen) nutzt.
> PHP kann die Ports nicht oeffnen weil Du nicht auf einem Server im LAN testest sondern von Deiner Website.
> 
> 
> Aber bis das bestaetigt ist lasse ich den Thread erstmal hier im PHP-Forum.


genau das is ja das komische... andere außerhalb meines netzwerks können den stream empfangen...hab ich ja alles schon probiert

gruß kevin


----------



## Dennis Wronka (13. Februar 2006)

Laeuft dieser Stream vielleicht ueber UDP und nicht ueber TCP?

Was genau ist das fuer ein Stream? Wovon wird der erzeugt?


----------



## kevin19 (13. Februar 2006)

nein, is tcp. es handelt sich um nen jetcast-stream


----------



## Dennis Wronka (14. Februar 2006)

Sendest Du als MP3/Ogg Vorbis oder WMA?
Ich hab den JetCast-Server grad mal installiert und festgestellt, dass TCP nur funktioniert wenn man als MP3/Ogg Vorbis sendet. Bei WMA ist TCP zu und man muss UDP nutzen.

Das Problem ist nur dass der Zustand eines Ports bei UDP nicht so einfach festzustellen ist.


----------



## kevin19 (19. Februar 2006)

das hat leider auch nichts gebracht. ich vermute mal, das liegt eher an den routereinstellungen. gibts da bei der portumleitung irgendetwas besonderes zu beachten?


----------



## boom-base (16. April 2010)

Hey.


Ich bruache einen HTML Code für einen Radio Status von meinem Radio auf http://www.boombase.de.tl


----------

