php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.01.2012, 17:35  
Erfahrener Benutzer
 
Registriert seit: 06.05.2011
Beiträge: 183
PHP-Kenntnisse:
Anfänger
DEdK4ever befindet sich auf einem aufstrebenden Ast
Standard Eingabe per Websocket in Datei

Hallo,
Ich suche verzweifelt nach jemandem, der sich mit Websockets auskennt..
Ich möchte ein Skript schreiben, das Benutzereingaben in Echtzeit an eine Datei hängt. Schaffe ich leider nicht, weil es keine Tutorials zu dieser mehr oder weniger neuen Technik gibt und das Protokoll zwischendurch mal modifiziert wurde.
Mein gescheiterter Versuch

Frage: Wie sieht ein serverseitiges Skript - kein PHP-Socketserver, sondern für jeden User einzeln! - aus, welches eine Verbindung öffnet und auf Neuigkeiten wartet? Für den Clienten ist schon gesorgt.
Ich suche keine Fertiglösung, sondern möchte verstehen, wie das funktioniert! Kennt ihr ein gutes Tutorial zu dem speziellen Thema?
Grüße
DEdK4ever ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 15.01.2012, 18:25  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Zitat:
Schaffe ich leider nicht
Was heisst das?
Klappt die Verbindung nicht, oder gibts ne Fehlermeldung?

Zitat:
Frage: Wie sieht ein serverseitiges Skript - kein PHP-Socketserver, sondern für jeden User einzeln! - aus, welches eine Verbindung öffnet und auf Neuigkeiten wartet? Für den Clienten ist schon gesorgt.
Die Socketverbindung bleibt geöffnet, bis sie einer von beiden schliesst. Wenn du selber aktiv nix zu sagen hast, liest du das Socket, im anderen Fall sendest du, das ganze in einer Endlosschleife oder bis zum Ablauf eines Timeouts, wenn nichts passiert ist.

Vielleicht hilft dir das Tutorial ein Stück weiter:
http://it-republik.de/php/artikel/We...-PHP-3816.html
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 15.01.2012, 18:48  
Erfahrener Benutzer
 
Registriert seit: 06.05.2011
Beiträge: 183
PHP-Kenntnisse:
Anfänger
DEdK4ever befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von lstegelitz Beitrag anzeigen
Was heisst das?
Klappt die Verbindung nicht, oder gibts ne Fehlermeldung?
Klappt allgemein nicht (Serverseitig)! Siehe Link oben.
Die Verbindung wird angefordert, es gibt ein JavaScript-Error-Objekt mit dem nichtssagenden Inhalt
Code:
originalTarget --> [object MozWebSocket]
getPreventDefault --> function getPreventDefault() { [native code] }
type --> error
target --> [object MozWebSocket]
currentTarget --> [object MozWebSocket]
eventPhase --> 2
bubbles --> false
cancelable --> false
timeStamp --> 1326648778253043
defaultPrevented --> false
stopPropagation --> function stopPropagation() { [native code] }
preventDefault --> function preventDefault() { [native code] }
initEvent --> function initEvent() { [native code] }
CAPTURING_PHASE --> 1
AT_TARGET --> 2
BUBBLING_PHASE --> 3
explicitOriginalTarget --> [object MozWebSocket]
preventBubble --> function preventBubble() { [native code] }
preventCapture --> function preventCapture() { [native code] }
isTrusted --> true
MOUSEDOWN --> 1
MOUSEUP --> 2
MOUSEOVER --> 4
MOUSEOUT --> 8
MOUSEMOVE --> 16
MOUSEDRAG --> 32
CLICK --> 64
DBLCLICK --> 128
KEYDOWN --> 256
KEYUP --> 512
KEYPRESS --> 1024
DRAGDROP --> 2048
FOCUS --> 4096
BLUR --> 8192
SELECT --> 16384
CHANGE --> 32768
RESET --> 65536
SUBMIT --> 131072
SCROLL --> 262144
LOAD --> 524288
UNLOAD --> 1048576
XFER_DONE --> 2097152
ABORT --> 4194304
ERROR --> 8388608
LOCATE --> 16777216
MOVE --> 33554432
RESIZE --> 67108864
FORWARD --> 134217728
HELP --> 268435456
BACK --> 536870912
TEXT --> 1073741824
ALT_MASK --> 1
CONTROL_MASK --> 2
SHIFT_MASK --> 4
META_MASK --> 8
und auf PHP-Seite keinen Reaktion.

Das Tutorial habe ich mir schon angesehen, es ist aber schon wieder für einen Socket-Server statt für ein "stand-alone"-Skript wie ich es brauche und verwendet noch das alte Protokoll, soweit ich das sehen kann.

Muss ich den Socket vor oder nach dem "Handshake" öffnen? Wird dieser per header() oder socket_write() gesendet? Und wie wird eigentlich der Sec-WebSocket-Key generiert ??
Verdammt, das kriegt man ja nie ins Hirn..
Gruß & Danke!
DEdK4ever ist offline   Mit Zitat antworten
Alt 15.01.2012, 19:25  
meikel
Gast
 
Beiträge: n/a
Standard

Kleiner Tip am Rande: debuggin ohne genaue Fehlermeldung ist unmöglich, weil es hier keine Hellseher gibt. Fehlerausgabe komplett anknipsen (client und server). Notfalls error_reporting(-1) verwenden. Und guck auch im error_log nach, ob sich PHP vielleicht dort ausheult.
  Mit Zitat antworten
Alt 15.01.2012, 21:55  
Erfahrener Benutzer
 
Registriert seit: 06.05.2011
Beiträge: 183
PHP-Kenntnisse:
Anfänger
DEdK4ever befindet sich auf einem aufstrebenden Ast
Standard

Ist schon. Die Funktion, die das Socket verwaltet (verwalten sollte), wird in ein Skript eingebunden, und zwar so:
PHP-Code:
<?php //UTF-8: ☼
   
error_reporting(-1);
    
set_time_limit(0);
    
ob_implicit_flush();
    
    include_once 
"/home/user/wwwlocal/websocket.php";
    
    
CreateWebSocket("localhost",50000,function($socket,$data) {
        
//callback bei Datenempfang
    
});
?>
Das Problem liegt darin, dass es serverseitig keine Fehlermeldungen gibt (die vom Clienten steht oben). Dann wüsste man wenigstens, was nicht funktioniert.
Werde jetzt noch herumexperimentieren und mir die Socket-Server genauer anschauen, vielleicht komme ich ja irgendwann dahinter...
Gruß & Danke
DEdK4ever ist offline   Mit Zitat antworten
Alt 15.01.2012, 22:01  
meikel
Gast
 
Beiträge: n/a
Standard

Zitat:
CreateWebSocket("localhost",50000
Irgend ne dämliche Firewall ist ausgeschlossen? Liefern nmap localhost und nmap <hostname> gleiche Ergebnisse?

btw: Ich hatte mal mit Plesk und remine saudämliche Probleme: localhost:3000 ging, alles andere wurde stillschweigend geblockt. Seitdem kenne ich einige neue Schimpfwörter.
  Mit Zitat antworten
Alt 15.01.2012, 22:26  
Erfahrener Benutzer
 
Registriert seit: 06.05.2011
Beiträge: 183
PHP-Kenntnisse:
Anfänger
DEdK4ever befindet sich auf einem aufstrebenden Ast
Standard

Ausgeschlossen. Mit Port 80 gibt es bei socket_bind eine Fehlermeldung von wegen "wird bereits verwendet" - habe deshalb irgendeinen Dynamic-Port genommen.
Der Server läuft auf meinem Linux-Notebook, auf dem auch der Client (Firefox) installiert ist.
Der Request wird korrekt gesendet (laut Webkonsole > Netzwerkrequest untersuchen), mit 101 Switching Protocol beantwortet und dann gibt's einen Fehler, der keine Info enthält.
Wahrscheinlich ist mein Skript total falsch aufgebaut ... ???
Wenn ich weiter bin, poste ich es hier her.
Gruß
DEdK4ever ist offline   Mit Zitat antworten
Alt 15.01.2012, 22:52  
meikel
Gast
 
Beiträge: n/a
Standard

Firewall:
Zitat:
Zitat von DEdK4ever Beitrag anzeigen
Ausgeschlossen.
OK. Die Fußangel fehlt.

Eben mal gegoogled:
das http://it-republik.de/php/artikel/We...-PHP-3817.html kennste sicher schon.
  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
[Erledigt] css datei in css datei einbinden xstefxanx HTML, Usability und Barrierefreiheit 10 21.03.2009 20:11
[Erledigt] Datei Upload Prüfung auf wav / mp3 mastertnt PHP Tipps 2009 4 15.02.2009 20:05
Wert in externer Datei speichern Abakay PHP Tipps 2008 6 04.12.2008 18:56
Datei per Buttonklick runterladen... go1denboy PHP Tipps 2008 7 14.06.2008 20:25
Funktionen aus externer Datei includen - Problem Darson PHP Tipps 2008 7 18.01.2008 16:27
Großer Baum -> Große Datei -> Hohe Ladezeit :( PsychoEagle PHP Tipps 2008 7 22.09.2007 12:44
.gz Datei entpacken und mit dem Inhalt weiterarbeiten R4v3r PHP Tipps 2007 8 02.02.2007 14:49
String als Datei speichern Zangelo PHP Tipps 2006 23 25.08.2006 14:13
Datei mehrmals öffnen und schließen in einem Skript PHP Tipps 2005-2 14 14.07.2005 18:12
Ordner Struktur auslesen bestimmte datei finden .... silverghost PHP Tipps 2005 3 24.05.2005 13:55
Includete Datei nicht gleich ausgeben Madden PHP-Fortgeschrittene 1 12.05.2005 00:19
xfdf Datei mit PHP an eMail senden Problem: Leere Datei PHP Tipps 2004-2 1 07.12.2004 12:25
[Erledigt] datei editieren PHP Tipps 2004 1 10.09.2004 20:33
(ich schonwieder) Link seite automatisch imported_DJ Nuno PHP Tipps 2004 14 19.08.2004 17:42
Wie kann ich eine PHP Datei in eine HTML Datei umwandeln PHP Tipps 2004 2 12.08.2004 18:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
websocket datenbank inhalt, websocket schliesst mit, websocket falsche daten, websockets installieren php, php socket server, plesk websocket, javascript websocket text empfangen, websocket localhost ordner, localhost verzeichnis websocket

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:53 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