php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 2 Stimmen, 5,00 durchschnittlich.
Alt 27.06.2011, 09:18  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Zitat:
Zitat von Griffith Beitrag anzeigen
Auch der Verbindungsaufbau über TCP braucht Traffic und Zeit,
und das selbst bei ner Payload von 0 Bytes.

Ist halt die Frage welcher Traffic genau berechnet wird:
Ethernet? TCP Payload? HTTP Payload?

Das Hauptproblem ist eigtl auch, dass der Server von außen aus keine TCP-Verbindung zum Client herstellen kann, wenn der Client hinter einem NAT hockt.
Über NAT kann eine Verbindung nur hergestellt werden, wenn der Client sie initiert.
Der Client muss also immer regelmäßig eine Verbindung eröffnen und/oder möglichst lange offen halten.

Wenn die Verbindung einmal offen ist, kann man die Verbindung offen halten und auf eine Antwort vom Server warten.
Nennt sich dann Long Polling.

Long Polling ist verglichen mit "normalen" Polling sinnvoller, weil...
1. Traffic-schonender (TCP-Payload bleibt bei 0; Overhead für die TCP-Payload ist natürlich weiterhin vorhanden: Ethernet und TCP/IP-Header)
2. Kürzere Antwortzeiten, da die Verbindung bereits aufgebaut wurde und die Antwort vom Server praktisch direkt kommt, ohne dass man nen 10 Sekunden Intervall hat.

http://en.wikipedia.org/wiki/Push_te...y#Long_polling
Gerade bei einer überschaubaren Anzahl von Clienten (und das scheint ja hier der Fall zu sein) sollte Long Polling wirklich die ideale Lösung sein. Der Nachteil dass viele Verbindungen gleichzeitig offen gehalten werden müssen entfällt dann schließlich.
Üblicherweise hilft man sich beim Long Polling damit ab dass der Request nach einer festgelegten Zeit (~ 10 - 30 Sek.) beendet und ggf. erneut gesendet wird, in deinem Fall könntest du vielleicht versuchen, die Zeit deutlich höher zu setzen oder ganz darauf zu verzichten und somit eine persistente Verbindung zum Server offen zu halten bis dieser etwas neues zu senden hat.
fab ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.06.2011, 09:36  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

wenn das dir immer noch zu viel Datentraffic ist ... back to the roots -
kein TCP, sondern UDP-Datagramme .. der Server "kennt" ja die Clients nach der Anmeldung und schickt "einfach" die Datenpakete an die Clients .. in 1,5 kbyte bekommt man schon ne Menge Daten unter - und wenn es nix zu übertragen gibt, kommt halt auch kein Datenpaket zum Client.
Der Client "pollt" non-blocking seinen Lesepuffer, ob da neu(e) Daten vorliegen und stellt sie dann ggf dar - gut ist der Fall. Bei den heutigen Netzen seh ich auch keine große Gefahr mehr darin, dass ein UDP-Datagramm mal hinten runterfällt .... ich hab das sogar für ne professionelle Softwarelösung benutzt, die ich mal für VW programmiert habe (Client-Server-Erweiterung einer Stand-alone-Anwendung)...

Damit müssen die Clients nicht immer aufwändig beim Server nach Daten fragen. Das ganze lässt sich auch noch mit Javascript / Ajax-Technik koppeln....
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 27.06.2011, 11:18  
Erfahrener Benutzer
 
Registriert seit: 02.09.2009
Beiträge: 1.019
PHP-Kenntnisse:
Fortgeschritten
mquadrat befindet sich auf einem aufstrebenden Ast
Standard

Als Ergänzung zu eagle. Für UDP Pakete muss natürlich die Firewall / das NATing entsprechend konfiguriert sein. Wenn man die Pakete durchnummeriert, merkt man sogar, wenn was verloren gegangen ist und kann ggf. re-requesten.
__________________
Wir suchen PHP Entwickler (Vollzeit) im Raum Darmstadt / Rhein-Main. Infos via E-Mail mueller@new-frontiers.de
mquadrat ist offline   Mit Zitat antworten
Alt 27.06.2011, 14:03  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

danke mquadrat - hab das mit dem NATing / Firewall erst hinterher in Fabs Beitrag entdeckt
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 13.07.2011, 17:23  
Benutzer
 
Registriert seit: 24.09.2009
Beiträge: 95
PHP-Kenntnisse:
Anfänger
Dopar zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Vielen vielen Dank für die vielen Ideen.

Ich möchte auf jeden Fall - wenn irgend möglich - den Traffic so gering wie möglich halten.

Der "Daten aktualisieren" Knopf kommt nicht in Frage, da die Information über den "Eingang" neuer Daten auf dem Server sofort erfolgen sollte. Die Daten die übermittelt werden sollten möglichst sofort jeden an System angemeldeten Mitarbeiter erreichen.

Mittlerweile steht fest, dass auch ein Chat untereinander zur Verfügung stehen soll. Ein Chat mit einem Delay von 15 Sekunden will keiner haben. Jedoch halte ich es für keine gute Idee jeden der FlashClienten sekündlich einen Request schicken zu lassen (bei einem Betrieb von 12h /5d pro Woche).

Ich schaue mir jetzt mal das erwähnte Long Polling an sowie die TCP Sockets.

Wenn ihr mir dazu nur Doku-Material oder Ideen habt würdet ihr mir vielleicht noch ein wenig helfen

Danke auf jeden Fall von für alles
Dopar ist offline   Mit Zitat antworten
Alt 13.07.2011, 19:57  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Die Daten die übermittelt werden sollten möglichst sofort jeden an System angemeldeten Mitarbeiter erreichen.

Mittlerweile steht fest, dass auch ein Chat untereinander zur Verfügung stehen soll. Ein Chat mit einem Delay von 15 Sekunden will keiner haben.
Es ist ganz einfach - investiert in eine leistungsfähige Serverinfrastruktur und eine Expertise in der Entwicklung, dann bekommt Ihr alles, was ihr braucht. Oder schraubt Eure Anforderungen herunter.
Mit 0815-Mitteln die High-Performance-Anwendung zu bauen, ist nunmal nicht möglich.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 14.07.2011, 12:09  
Erfahrener Benutzer
 
Benutzerbild von DJ_RhoxxZ
 
Registriert seit: 07.03.2010
Beiträge: 181
PHP-Kenntnisse:
Anfänger
DJ_RhoxxZ ist in Verruf geratenDJ_RhoxxZ ist in Verruf geraten
DJ_RhoxxZ eine Nachricht über ICQ schicken DJ_RhoxxZ eine Nachricht über MSN schicken
Standard

Frag' doch einfach die Verbindung einmalig ab und lass diese halt so lange offen bis ein neuer Eintrag kommt. Beim Server überprüfst du dann alle 2 Sekunden auf einen neuen Eintrag und die Sache hat sich. Ist ein neuer Eintrag gekommen wird der beim Client angezeigt und das ganze Spielchen beginnt von vorne.
__________________
webmasterlounge
Die deutsche Webmaster-Community
DJ_RhoxxZ ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Biete Webspace mit Domain auf schnellem Server zu Duping-Preis an! 75MrCoolBoy Off-Topic Diskussionen 9 07.02.2010 22:16
Anwendung für mehrere Server entwickeln smilla Software-Design 14 30.12.2009 00:05
[Erledigt] Bilder vom Client ohne post auf Server speichern Psydl PHP-Fortgeschrittene 15 02.07.2009 15:52
exec() auf win 2003 Server geqoo PHP-Fortgeschrittene 9 30.04.2009 21:57
[Erledigt] WAMP unter Windows 2000 Server oder Windows 2003 Server Mecronomecon Server, Hosting und Workstations 3 18.06.2008 09:15
Datei von Server zu Server übertragen GSJLink PHP-Fortgeschrittene 5 05.05.2008 14:17
[Erledigt] Server durchsuchen mit php PHP Tipps 2008 7 18.08.2007 12:24
Server für shell_exec() / exec() vorbereiten Martek Server, Hosting und Workstations 2 16.03.2007 15:03
streaming von videos, server lahmt bereits nach einem abruf snowflow Server, Hosting und Workstations 6 30.11.2006 18:04
Client IP bei include über anderen Server PHP Tipps 2006 5 14.03.2006 14:55
[Erledigt] verschiedene Versionen auf einem W2K3 Server betreiben PHP Tipps 2006 2 13.01.2006 17:39
Problem mit Verbindung von anderem Server Datenbanken 2 08.11.2005 13:43
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
[Erledigt] dateiupload - windows client - suse server Server, Hosting und Workstations 2 16.12.2004 21:34
Datei nach Transfer löschen? (Server -> Client) PHP Tipps 2004-2 1 14.12.2004 20:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
long polling nachteile, server client tcp offen halten, php auf client seite, php tcp verbindung aufbauen, tcp verbindung offen lassen, mehrere html seiten öffnen, suse 30 sekunden polling

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:58 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum