php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.08.2005, 03:19  
Gast
 
Beiträge: n/a
Standard socket_set_blocking() will einfach nicht

hi,
ich bin grad am sockets erforschen in php und wollte mir das anhand eines einfachen irc bots machen. klappt auch alles wunderbar aber ich will während er auf daten vom server wartet, noch was anderes tun, also hab ich den socket auf non-blocking mode gesetzt und wollte nun wenn fgets() keine daten liefert ladida auf den bildschirm zaubern und ob_flushn: geht aber nicht *schnief*

hier mal ein code-ausschnitt:
PHP-Code:
 $H_irc pfsockopen"localhost"6667 );
 
socket_set_blocking($H_irc,false) or die("geht nicht!");
 
$H_log fopen"log.txt""w+" );

 
fputs$H_irc"NICK hiho\r\n" );
 
fputs$H_irc"USER doenerschniefer localhost localhost :grr\r\n" );
 
fputs$H_irc"JOIN #bla\r\n" );

 while( !
feof($H_irc) )
 {
    
$data fgets$H_irc );
    
fputs$H_log"jo: ".$data." \r\n" );
 } 
eigentlich müsste ich ja zauberhaft viele jos in meiner log haben hinter denen nix steht, da fgets() sofort zurückkehrt, wenns keinen input kriegt! aber nix is genausoviel zeilen wie ich vom server krieg, soviel jos hab ich.

mach ich irgendwas falsch oder is einfach mein denkansatz fürn arsch? ^^

danke schonmal!
andré
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 12.08.2005, 03:42  
Gast
 
Beiträge: n/a
Standard

Lies Dir mal http://php.net/socket_select durch.
 
Alt 12.08.2005, 11:57  
Gast
 
Beiträge: n/a
Standard

ok danke, kenn ich noch vonnen winsock :]
aber eigentlich interessiert mich mehr warum das nich geht ^^
das fuxt mich verdammisch
 
Alt 13.08.2005, 02:51  
Gast
 
Beiträge: n/a
Standard

ok.. nehm ich halt socket_select
und wie mach ich das klug, dass ich z.B. was inne datenbank schreiben kann wenn der socket gerade keine daten am start hat? mit ner forever schleife geht ja schlecht, wegen der performance, zumindest gingen so meine tests aus ^^

kann man keine funktion an den socket binden die aufgerufen wird, wenn etwas neues passiert?
 
Alt 13.08.2005, 12:14  
Gast
 
Beiträge: n/a
Standard

Von der Performance her ist das kein Problem
Zitat:
The tv_sec and tv_usec together form the timeout parameter. The timeout is an upper bound on the amount of time elapsed before socket_select() return.
 
 


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
SWiki, weil einfach einfach einfach ist. b++ Beitragsarchiv 0 06.10.2007 19:07
UPDATE funkt einfach nicht ... Nosferatu PHP Tipps 2006 11 05.03.2006 00:16
code zwischen [php] & [/php] bleibt einfach aus.BB-Code aircrash PHP Tipps 2006 6 01.03.2006 19:54
problem mit bilddarstellung. bild einfach zusammenschneiden? Promaetheus PHP Tipps 2007 14 07.12.2005 00:23
Suche einfach zu includendes login-skript Beitragsarchiv 3 18.11.2005 15:28
Einfach Datepicker gesucht Cyberbob_at_tot PHP Tipps 2007 5 14.11.2005 09:10
[Erledigt] wörter werden bei zeilenumbruch einfach gesplittet HTML, Usability und Barrierefreiheit 7 02.11.2005 14:11
MySQL Join: Ich komme einfach nicht dahinter... pino Datenbanken 6 26.09.2005 23:20
[Erledigt] Cron bricht ohne Fehler einfach ab PHP-Fortgeschrittene 5 08.09.2005 18:06
Suche spezielles aber glaub einfach geschriebenes script Beitragsarchiv 2 15.08.2005 15:52
Cd-Laufwerk öffnet sich einfach Server, Hosting und Workstations 5 17.01.2005 04:27
code bricht einfach ab.... 18inch PHP Tipps 2007 2 04.01.2005 15:11
Int möglichst einfach raufzählen Datenbanken 2 08.11.2004 19:10
komm nicht weiter, für profi einfach *g* Rotti PHP Tipps 2004 4 07.09.2004 18:04
Einfach Suchfunktion in PHP PHP Tipps 2004 0 11.06.2004 11:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
\socket_set_blocking\, fgets irc socket keine daten, socket_set_blocking

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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.