Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Funktion die sich Sekündlich selbst aufruft. Sinnvoll?

Mitglied: Power-Poler

Power-Poler (Level 1) - Jetzt verbinden

25.05.2015 um 09:58 Uhr, 1023 Aufrufe, 5 Kommentare

Guten Morgen.
Hätte da mal eine ganz Allgemein Frage.
Habe derzeit folgendes geschrieben:
index.php
01.
.
02.
.
03.
.
04.
 function current(){
05.
         var xmlhttp = new XMLHttpRequest();
06.
         xmlhttp.onreadystatechange = function() {
07.
             if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
08.
                 document.getElementById("current").innerHTML = xmlhttp.responseText;
09.
             }
10.
         }
11.
         xmlhttp.open("GET", "current.php?q=", true);
12.
         xmlhttp.send();
13.
		
14.
		
15.
}
16.
.
17.
.
18.
.
19.
function start(){
20.
andereFunktion();
21.

22.
setTimeout(function(){ sleep(); }, 500);
23.

24.
}
25.
function sleep(){
26.
setTimeout(function(){ current(); }, 500);
27.
setTimeout(function(){ sleep() }, 500);
28.
}
29.
</script>
30.
</head>
31.

32.
<body onload="start()">
33.

34.
<p id="current"></p>

current.php:
01.
<?php
02.
print_r(shell_exec('mpc'))
03.
?>


mpc Liefert einen String der From:
Aktueller Titel [playing] #1/51 0:05/4:14 (1%) volume:100% repeat: off random: off single: off consume: off
oder wenn nichts gespielt wird:
volume:100% repeat: off random: off single: off consume: off

Die Webseite wird in der Regel von einem Smartphone aufgerufen, und es erfolgt auch nur dieser eine Zugriff im Lan.
Die Frage lautet jetzt: Ist das so sinnvoll? ich meine Sekündlich einen Shellexec auszuführen und diesen neu auf die Seite zu laden?

Schonmal Danke für eure Antworten.
Mfg
Power-Poler
Mitglied: Arano
25.05.2015 um 10:18 Uhr
Hi Power-Poler.

Um deine algemeine Frage auch algemein zu beantworten:
"Es kommt auf die Wichtigkeit der aktualität der Daten an" !

Ist es wiklich wichtig die Spieldauer auf die Sekunde aktuell zu halten ?
Du schreibst das die Seite per Handy aufgerufen wird, rechnest du wirklich damit das da jemand vorhockt und die Sekunden "deim laufen" zuschaut - anstat der Musik zu lauchen ?

Das würde ich vermutlich alle 5-10 Sek aktualisieren lassen (eher 10 Sek.)
Oder nur oder zusätzlich pber einen "Aktualisierungs-Button" fals es doch mal genauer sein muss.

Um noch eine Alternative zu nennen, die wichtigste Information ist doch eigentlich nur der Song-Titel. Also könnte mann auch alles was danach kommt einfach wegschneiden, dann hat man zumindes auch keine "falschen" Informationen in der Anzeige.


~Arano
(Ich habe hier auch ein Raspberry mit MPC liegen)
Bitte warten ..
Mitglied: 114757
25.05.2015, aktualisiert um 10:28 Uhr
Moin,
und statt dreimal setTimeout zu verwenden würde es auch einmal setInterval tun

Gruß jodel32
Bitte warten ..
Mitglied: Power-Poler
25.05.2015 um 12:17 Uhr
Danke für die Antwort.
Wäre wirklich eine Idee, es nur beim Titelstart, für 2-3s Aktuell zu halten und dann nur noch alle 10s bzw. bei Klick auf einen Button.
Was mich nur mal interessieren würde, wie wird das im "großen" gelöst? Ich meine im I-net gibt es doch auch Seiten die auf die Sekunde was zählen?
Ist meine Lösung in irgend einer weiße eine Belastung für das PI oder für das Handy?

Nur den Titel auszugeben, werde ich mir mal durch den Kopf gehen lassen.
Muss dan halt nur ein event haben, das erkennt wenn der Song automatisch wechselt.
Bitte warten ..
Mitglied: Power-Poler
25.05.2015 um 12:18 Uhr
Danke werde ich mir mal anschauen
Bitte warten ..
Mitglied: Arano
25.05.2015 um 13:16 Uhr
Hi,

klar "belastet" es - die Frage ist nur wie stark / was ist "Belastung"
bzw. rechtfertigt das Ergebnis den Aufwand

In deinem Fall bedeutet dies das dein Raspberry jede Sekunde einen HTTP-Request erhält und verarbeiten muss (das macht der schon mit aber es IST Arbeit !) Für diesen Request wird ja auch jedesmal das PHP ausgehührt (endweder als Apache-Modul oder direkt per CGI) und das wiederum lässt dein System ein mpc status ausführen der auch wieder Last erzeugt (alles recht gering und schnell aber es IST Arbeit dür das __kleine Früchtchen__)
Und all das NUR um eine Sekunde um eins weiter zählen zu lassen.

Nicht zu vergessen ist dabei auch die Clientseite. Auch wenn unsere Smartphones schon einiges an Rechenleisung haben. So ist nun auch der Browser damit beschäftigt das JS auszuführen und auszuführen und auszuführen und.... Jedes mal wird für einen Request vom OS ein Socket bereitsgestellt, eine Verbindung zum Server geöffnet, der Request übertragen, die Antwort gelesen und verarbeitet...
Und all das NUR um eine Sekunde um eins weiter zählen zu lassen.

Wir sind einfach schon viel zu verwöhnt als das wir uns um Resourcen gedanken machen und verschwenden sie deshalb viel zu unüberlegt ! Nur weil es AJAX gibt muss man es NICHT einsetzen

Du kannst auch beim ersten Aufrufen der Seite, die Zeitangabe extrahieren (PHP-Seitig) und als separaten Wert mit dem HTML und Javascript ausgeben. So könnte man dan nur mit Javascript die Zeit weiter zählen lassen.
Und beim erreichen der gesamt Spieldauer, kann man gleich einen Refresch auslösen lassen um A) den Titel wechsel mit zu machen und B) an die neuen Informationen bzgl.Titel, aktuelle Spielzeit und geamt Spielzeit zu kommen.

Stat also jeder Sekunde einen Request abzufeuern und jede menge Arbeit zu generieren, hat man so nur einen Request alle ~240Sekunden bzw. 239 Request __weniger__ - Effizienz

Dein Netzwerk ist weniger belastet,
dein RasPi ist weniger belastet (auch wenn der Request nun etwas aufwändiger ist, dafür 1mal stat 240mal) und auch
dein Smartphone ist weniger belastet (auch wenn es nun den JS-Counter auszuführen hat, das ist leichtere Arbeit als einen HTTP-Request) dan hält der Akku auch wieder länger *fg*


~Arano
Bitte warten ..
Ähnliche Inhalte
Netzwerkmanagement
DCIM sinnvoll?
Frage von Axel90Netzwerkmanagement7 Kommentare

Hi! - diesmal eine Frage an die Netzwerkfraktion :-) Ich überlege mir gerade, wie man am besten Switche (/Firewalls) ...

Festplatten, SSD, Raid
Raidaufteilung sinnvoll?
Frage von Noah12Festplatten, SSD, Raid7 Kommentare

Guten Abend Wir planen uns einen neuen Server anzuschaffen. Es handelt sich um einen HP ProLiant DL380 Gen9. Die ...

Vmware

Mini Betriebssystem welches nur Virtuelle Maschine aufruft

gelöst Frage von IngenieursVmware5 Kommentare

Hallo, Ich suche ein Betriebssystem welches so klein wie möglich ist und nur dazu da ist eine Virtuelle Maschine ...

Windows Update

WSUS - Sinnvoll integrieren

gelöst Frage von askandoWindows Update3 Kommentare

Hallo Zusammen, nach einer kompletten Umstruktierung unserer Landschaft (mehrere Standorte) über vpn verbunden, plane ich nun mein Update Management. ...

Neue Wissensbeiträge
Humor (lol)
Microsoftsche Zählweise für Updates
Information von Lochkartenstanzer vor 11 StundenHumor (lol)4 Kommentare

Gerade bei einem Update von Windows 8.1 zufällig gesehen, das nebenbei lief. lks

Erkennung und -Abwehr
Emotet mit Rspamd und Oletools bekämpfen
Tipp von Dani vor 1 TagErkennung und -Abwehr1 Kommentar

Moin, Um oletools während der Annahme einer E-Mail die bereits angehängten Office-Dateien analysieren lassen zu können, haben wir für ...

Viren und Trojaner

Gratis-Entschlüsselungstool für STOP-Ransomware verfügbar

Information von AnkhMorpork vor 1 TagViren und Trojaner

Der Sicherheitsanbieter Emisoft hat ein kostenloses Tool veröffentlicht, mit dem sich Dateien entschlüsseln lassen, die die Ransomware STOP unbrauchbar ...

Off Topic
8 zoll disketten
Information von brammer vor 2 TagenOff Topic5 Kommentare

Hallo, ob das so gut ist brammer

Heiß diskutierte Inhalte
Java
Java: Problem bei Aufgabe
Frage von WhatEver007Java22 Kommentare

Hallo zusammen, ich habe bereits einwenig an der Aufgabe gearbeitet. Habe aber ein Problem - solltet ihr anhand der ...

Video & Streaming
Schulungsvideos - anonyme Stimme
gelöst Frage von PeterGygerVideo & Streaming16 Kommentare

Hallo Wir erstellen Videos zu Schulungszwecken. D.h. der Bildschirm wird über ein Tool wie VLC oder Caputra aufgezeichnet. Die ...

LAN, WAN, Wireless
WLAN Zugang direkt an der FritzBox geht, aber nicht über den Repeater. Warum?
gelöst Frage von JuvenalLAN, WAN, Wireless14 Kommentare

Hallo Zusammen, ich habe eine Fritz!Box 7590 und einen Fritz!Repeater 600. Der WLAN Zugang direkt über die Fritz!Box funktioniert ...

Windows Server
Erfahrungswerte - Rebuild-Dauer SSD RAID
Frage von Mann-000Windows Server13 Kommentare

Hallo liebe Mitglieder, wir hatten mal diskutiert, ob es für ein Backup Server mit einem RAID-Controller z.B. mit H740P ...