PHP: mehrere fsockopens gleichzeitig
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
antworten
art
aufgabe
befehl
beste art
browser
empfangenen daten
erledigen
ersten zeile
externe programme
gleichzeitig starten
greifen
grund
programmablauf
schwierige frage
server
umsteigen
url
versuchen
ziel
-
Hallo zusammen,
ist es möglich mehrere fsockopens gleichzeitig zu starten, dass das Script schneller läuft?
mfg,
askarian -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Schneller läuft?
Was willst du denn machen?
Also normalerweise sollte es schon funktionieren mehrere zu öffnen, aber im Zweifelsfall kannst du es ja immer noch probieren. ;) -
Nicht das ich wüsste.
PHP ist ein Skriptsprache, die von oben nach unten abgearbeitet wird, eine Paralelisierung von Code ist zwar über Forkes möglich, aber bei keinem Host erlaubt meineswissens. So kann man also sagen: Nein, das geht nicht.
Was genau ist das Ziel? Vielleicht finden wir einen passenderen Weg?
Liebe Grüße -
ggamee schrieb:
Was genau ist das Ziel? Vielleicht finden wir einen passenderen Weg?
Liebe Grüße
Ich versuche über meinen localhost mehrere andere Server von Freunden (insg 12 Stück) an zu pingen, um zu testen, ob deren System einen Fehler aufweist...und ich versuche das ganze Script schneller zu machen. -
Das ist eine schwierige Frage. Dazu fängt man am besten mit Threads an. Ein Thread ist im Grunde ein Programmablauf. Diese Programmabläufe finden prinzipiell linear statt, also angefangen mit der ersten Zeile, aufgehört mit der letzten. Was du möchtest ist, dass mehrere Befehle gleichzeitig ausgeführt werden sollen. Dafür brauchst du mehrere Threads. Das ganze nennt sich dann Multithreading. ( Mehrere Aufgaben auf ein mal erledigen. )
Meines Wissens gibt es keine Möglichkeit, in PHP Multithreading zu realisieren, tatsächlich habe ich mich aber noch niemals näher damit befasst. Könnte also durchaus sein, auch, wenn ich es für potenziell fehleranfällig halte. ( Max-Execution-Time, etc. )
Dementsprechend würde ich persönlich auf Perl/Python umsteigen, welche dieses Konstrukt sehr gut implementiert haben. Notfalls kannst du auf Syscalls(?) zurückgreifen, also externe Programme, welche ausgeführt werden und über Hooks ihre Antworten präsentieren. Ebenfalls keine besonders schöne Art.
Die (denke ich) beste Art ist, auf AJAX-Requests zurück zu greifen. Der Browser kann davon praktisch beliebig viele gleichzeitig starten, diese können die empfangenen Daten nach Client- bzw. Servergeschwindigkeit präsentieren.
Zu googlen:
- PHP Multithreading
- Perl/Python Multithreading
- C/C++ Multithreading/Hooks/und so weiter, PHP eval oder sowas.,
- AJAX Request -
notinthetext schrieb:
Das ist eine schwierige Frage. Dazu fängt man am besten mit Threads an. Ein Thread ist im Grunde ein Programmablauf. Diese Programmabläufe finden prinzipiell linear statt, also angefangen mit der ersten Zeile, aufgehört mit der letzten. Was du möchtest ist, dass mehrere Befehle gleichzeitig ausgeführt werden sollen. Dafür brauchst du mehrere Threads. Das ganze nennt sich dann Multithreading. ( Mehrere Aufgaben auf ein mal erledigen. )
Meines Wissens gibt es keine Möglichkeit, in PHP Multithreading zu realisieren, tatsächlich habe ich mich aber noch niemals näher damit befasst. Könnte also durchaus sein, auch, wenn ich es für potenziell fehleranfällig halte. ( Max-Execution-Time, etc. )
Dementsprechend würde ich persönlich auf Perl/Python umsteigen, welche dieses Konstrukt sehr gut implementiert haben. Notfalls kannst du auf Syscalls(?) zurückgreifen, also externe Programme, welche ausgeführt werden und über Hooks ihre Antworten präsentieren. Ebenfalls keine besonders schöne Art.
Die (denke ich) beste Art ist, auf AJAX-Requests zurück zu greifen. Der Browser kann davon praktisch beliebig viele gleichzeitig starten, diese können die empfangenen Daten nach Client- bzw. Servergeschwindigkeit präsentieren.
Zu googlen:
- PHP Multithreading
- Perl/Python Multithreading
- C/C++ Multithreading/Hooks/und so weiter, PHP eval oder sowas.,
- AJAX Request
Danke erstmals,
aber läuft ne Art CronJob auf dem Server, deshalb entfällt Ajax, und PHP wäre mir selber am liebsten, aber zu Not geht es ja auch mit Perl/Phyton oder C/C++ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage