login  Naam:   Wachtwoord: 
Registreer je!
 Forum

timeout op server, lokaal werkt

Offline Maarten - 15/06/2006 14:45
Avatar van MaartenErelid Ik heb een IRC-bot ontwikkeld in PHP, en dat gedrocht connecteert met een socket naar de IRC-server.

Dit werkt zoals het hoort, foutloos zelfs. Alleen ligt mijn computer niet altijd aan, dus moet hij op een server werken. Als ik echter via ssh de bot start via php bot.php krijg ik altijd een timeout (Warning: socket_connect() unable to connect [110]).

Heeft iemand er een idee van hoe dat komt, en vooral, hoe dat op te lossen valt?

5 antwoorden

Gesponsorde links
Offline ikkedikke - 15/06/2006 16:15
Avatar van ikkedikke PHP expert verschillen in configuratie?
wat gebruik je om verbinding te maken?
Offline Maarten - 15/06/2006 16:18 (laatste wijziging 15/06/2006 16:19)
Avatar van Maarten Erelid Een satelliet in m'n tuin die verbinding maakt met een radioontvanger op Mars en dan terug naar quakenet.
Als je de foutmelding zou lezen is socket_connect() wel een optie zeker?
Offline ikkedikke - 15/06/2006 16:19
Avatar van ikkedikke PHP expert snap ik, maar de regel code. zit je daar achter een router of iets die moeilijk doet misschien?
Offline Maarten - 15/06/2006 16:27 (laatste wijziging 15/06/2006 16:32)
Avatar van Maarten Erelid Ik zit hier achter een router en dat werkt perfect.
  1. <?php
  2. // config vars
  3. $config = array();
  4. $config['nick'] = 'MurfBot';
  5. $config['realname'] = 'Murf The Bot';
  6. $config['ident'] = 'murfbot';
  7. $config['hostname'] = 0;
  8. $config['server'] = 'irc.quakenet.org';
  9. $config['poort'] = 6667;
  10. $config['kanalen'] = array('#linuxmasters','#sitemasters','#G4u','#digitalmind','#finduilas','#blown.ftw');
  11. $config['auth'] = array('Murfy','*********');
  12. ?>


Socket gedeelte:
  1. <?php
  2. if(!$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) {
  3. logmsg('Fatale fout: socket kon niet worden aangemaakt.');
  4. die();
  5. }
  6. logmsg('Socket aangemaakt');
  7.  
  8. if(!socket_bind($socket,$config['hostname'])) {
  9. logmsg('Fatale fout: verbinding kon niet worden gekoppeld aan hostname '.$config['hostname'].'.');
  10. die();
  11. }
  12. logmsg('Verbinding gekoppeld aan hostname');
  13.  
  14. if(!socket_connect($socket,$config['server'],$config['poort'])) {
  15. //
  16. // Hier gaat het dus mis
  17. //
  18. logmsg('Fatale fout: verbinding met server kon niet tot stand worden gebracht.');
  19. die();
  20. }
  21. logmsg('Verbinden...');
  22. ?>


Die hostname kon hier thuis ook 192.168.0.18 zijn (router zooi), maar dat ging uiteraard niet op die server, das een andere opstelling, en heb het dan veranderd in 0. De socket_bind werkte dan zowel thuis als op de server, dus daar moet je het niet zoeken.

Ik ga even phpinfo's uppen.
edit: het enige verschil is PHP5 lokaal en PHP4.x op de server.
Offline ikkedikke - 15/06/2006 17:43 (laatste wijziging 15/06/2006 17:43)
Avatar van ikkedikke PHP expert heb je al eens met fsockopen geprobeerd dezelfde verbinding te maken?
probeer evt een ip ipv een hostname
wie weet heb je op je host een andere dns server ofzo.(Dit kan goped onzin zijn want hoe dat werkt snap ik niet helemaal;-) )
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.189s