socket prob ..

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • socket prob ..

    hi !

    wie ich bereits in einem anderen thread geschrieben habe bin ich momentan dabei einen chat zu programmieren ... aber da dort sowenige benutzer unterwegs sind poste ich mein problem hier :

    und zwar habe ich mal das socket tut bei php.net angeschaut und eine datei socket_server.php und socket_client.php gemacht - und jeweils den code von php.net reinkopiert .-- und wenn ich dann die datei socket_server.php öffne bekomme ich ne endlose fehlermeldungsschleife ^^ und als erstes diese meldung hier

    PHP-Code:
    Warningsocket_bind() [function.socket-bind]: unable to bind address [0]: 
    Die 
    angeforderte Adresse ist in diesem Kontext ungültig.

    Warningsocket_listen() [function.socket-listen]: unable to listen on socket [0]: 
    Ein ungültiges Argument wurde angegeben.

    Warningsocket_accept() [function.socket-accept]: unable to accept incoming connection [0]: 
    Ein ungültiges Argument wurde angegeben

    als nächstes dann die endlosschleife .-- mit einer fehlermeldung -
    die so aussieht :

    PHP-Code:
    Warningsocket_read() expects parameter 1 to be resourceboolean given in ... 
    ich habe xampp und da bereits die socket funktion freigeschlaten die ja standardgemäß aus ist ^^

    als adress habe ich 127.0.0.1 genommen --- welche adress muss ich da normalerweise nehmen ... ?

    als port habe ich 10000 genommen wie in dem tutorial ....

    liegt es evtl an der adresse oder am port ?


    Vielen Dank !



    greetz subabrain !
    Zuletzt geändert von subabrain; 24.09.2005, 18:15.

  • #2
    dann zeig doch mal was von dem dazugehörigen code.

    Kommentar


    • #3
      ist wie gesagt der gleiche wie in dem tutorial auf php.net (nur andere ip) :

      socket_server.php :
      PHP-Code:

      #!/usr/local/bin/php -q
      <?php
      error_reporting 
      (E_ALL);

      /* Das Skript wartet auf hereinkommende Verbindungsanforderungen. */
      set_time_limit (0);

      /* Die implizite Ausgabe wird eingeschaltet, so dass man sieht, was gesendet wurde. */
      ob_implicit_flush ();

      $address '127.0.0.1';
      $port =  10000;

      if ((
      $sock socket_create (AF_INETSOCK_STREAM0)) < 0) {
         echo 
      "socket_create() fehlgeschlagen: Grund: " socket_strerror ($sock) . "\n";
      }

      if ((
      $ret socket_bind ($sock$address$port)) < 0) {
         echo 
      "socket_bind() fehlgeschlagen: Grund: " socket_strerror ($ret) . "\n";
      }

      if ((
      $ret socket_listen ($sock5)) < 0) {
         echo 
      "socket_listen() fehlgeschlagen: Grund: " socket_strerror ($ret) . "\n";
      }

      do {
         if ((
      $msgsock socket_accept($sock)) < 0) {
             echo 
      "socket_accept() fehlgeschlagen: Grund: " socket_strerror ($msgsock) . "\n";
             break;
         }
         
      /* Anweisungen senden. */
         
      $msg "\nWillkommen auf dem PHP Testserver.  \n" .
             
      "Um zu beenden, geben Sie 'quit' ein. Um den Server herunterzufahren, geben Sie 'shutdown' ein.\n";
         
      socket_write($msgsock$msgstrlen($msg));

         do {
             if (
      FALSE === ($buf socket_read ($msgsock2048))) {
                 echo 
      "socket_read() fehlgeschlagen: Grund: " socket_strerror ($ret) . "\n";
                 break 
      2;
             }
             if (!
      $buf trim ($buf)) {
                 continue;
             }
             if (
      $buf == 'quit') {
                 break;
             }
             if (
      $buf == 'shutdown') {
                 
      socket_close ($msgsock);
                 break 
      2;
             }
             
      $talkback "PHP: Sie haben '$buf' eingegeben.\n";
             
      socket_write ($msgsock$talkbackstrlen ($talkback));
             echo 
      "$buf\n";
         } while (
      true);
         
      socket_close ($msgsock);
      } while (
      true);

      socket_close ($sock);
      ?>
      Zuletzt geändert von subabrain; 24.09.2005, 18:23.

      Kommentar


      • #4


        muss das dritte argument bei socket_create nicht angegeben werden? im manual steht was von SOL_TCP.

        Kommentar


        • #5
          Du proggst nen Chat ?

          Vielleicht könnten wir uns in einigen Belangen zusammentun :

          http://www.php-resource.de/forum/sho...threadid=59737

          Kommentar


          • #6
            allerdings das wäre natuerlich nicht schlecht -- bin aber nicht so ein pro wie du ^^ -- bist du der der corenews 2 erweitert hat ?

            naja also .. aber wäre aufjedenfall gut

            ich schick dir mal meine icq addy ueber email bzw meine mail addy

            Kommentar

            Lädt...
            X