[PHP] Kan niet connecten met socket

Pagina: 1
Acties:
  • 250 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Saven
  • Registratie: December 2006
  • Laatst online: 13:48

Saven

Administrator

Topicstarter
Hallo Tweakers. Ik heb een beetje een vreemd probleem.
Ik wil met een socket connecten naar mijn chatserver, en weet zeker dat alle config-informatie goed is.
Toch kan ik geen verbinding maken.

Weet iemand of er een probleem in mijn scripting zit?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php

class ChatBot
{
    
    //-----------------------------------------------
    // Configuratie dingen
    //-----------------------------------------------
    private $config = array();
    
    //-----------------------------------------------
    // Bot starten
    //-----------------------------------------------
    public function __construct($config_vars)
    {
        //-----------------------------------------------
        // Configuratie inladen
        //-----------------------------------------------
        $this->config = $config_vars;
        unset($config_vars);
        
        //-----------------------------------------------
        // Socket aanmaken
        //-----------------------------------------------
        if( !$this->config['socket'] = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) )
        {
            die('Socket kon niet worden aangemaakt');
        }
        
        //-----------------------------------------------
        // Socket binden aan botserver
        //-----------------------------------------------
        if( !@socket_bind($this->config['socket'], $_SERVER['REMOTE_ADDR']) )
        {
            die('Kon niet binden aan de botserver');
        }
        
        //-----------------------------------------------
        // Connecten naar server
        //-----------------------------------------------
        if( !socket_connect($this->config['socket'], $this->config['server'], $this->config['poort']) )
        {
            die('Kan niet verbinden naar de chatserver');
        }
    }

}

?>


Ik krijg dus de error:
code:
1
2
Warning: socket_connect() [function.socket-connect]: unable to connect [0]: Er is geprobeerd een socketbewerking uit te voeren op een onbereikbaar netwerk. in C:\wamp\www\chatbot\bot.php on line 41
Kan niet verbinden naar de chatserver


Terwijl ik 100% zeker ben dat de server en poort goed zijn.
Kan dit anders misschien komen omdat ik hem localhost draai? Of zit het probleem ergens anders?

Kan iemand mij helpen? :)
Alvast bedankt.

Edit: voor de mensen die toch de config willen zien:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php

//-----------------------------------------------
// Bot instellingen
//-----------------------------------------------
$config = array();

//-----------------------------------------------
// Chatserver adres
//-----------------------------------------------
$config['server'] = '213.93.238.149';

//-----------------------------------------------
// Poort waar de chatserver op draait
//-----------------------------------------------
$config['poort'] = 1337;

//-----------------------------------------------
// Chatversie die nodig is
//-----------------------------------------------
$config['versie'] = 1.04;

//-----------------------------------------------
// Bot nickname
//-----------------------------------------------
$config['nickname'] = 'Botjez';

//-----------------------------------------------
// Bot password
//-----------------------------------------------
$config['password'] = '';

?>

[ Voor 24% gewijzigd door Saven op 23-10-2007 17:11 . Reden: Config code erbij ]


Acties:
  • 0 Henk 'm!

  • KoW
  • Registratie: Juli 2001
  • Laatst online: 17-08-2022

KoW

Parse parsed te veel

Wat krijg je als je dat IP-adres intikt :?
Je router?
In dat geval kun je het beter eerst proberen met 127.0.0.1

Acties:
  • 0 Henk 'm!

  • Bitage
  • Registratie: April 2006
  • Laatst online: 19-05-2024
Kun je niet beter fsockopen() gebruiken :?

Acties:
  • 0 Henk 'm!

  • Razr
  • Registratie: September 2005
  • Niet online
Als je de server lokaal draait zou ik inderdaad '127.0.0.1' of gewoon 'localhost' proberen.

Acties:
  • 0 Henk 'm!

  • Enfer
  • Registratie: Februari 2004
  • Laatst online: 18-09 16:32
Weet je zeker dat je in de constructor de goede array meegeeft aan je botje?

Gooi es tussendoor wat echo's van vars ed, dat maakt het vaak al een stukje duidelijker ;)

Acties:
  • 0 Henk 'm!

  • ibmos2warp
  • Registratie: Januari 2007
  • Laatst online: 20-11-2023

ibmos2warp

Eval is Evil

Als je een chatbot voor msn aan het ontwikkelen ben, dan kan je het beste op een echte programeertaal over gaan. (En dus niet een script taal zoals php, want php die gooit na x aantal seconde het script er uit. En als je die tijd wilt verlengen dan pomp je geheugen weer vol.).
Als dat ip je eigen ip is dan moet je of wat porten open gooien (1337), en misschien forwarden, en anders kan je niet van buitenaf je eigen netwerk benaderen.

Ik weet alles van niks
Vind Excel ongelovelijk irritant.


Acties:
  • 0 Henk 'm!

  • Saven
  • Registratie: December 2006
  • Laatst online: 13:48

Saven

Administrator

Topicstarter
ibmos2warp schreef op dinsdag 23 oktober 2007 @ 22:39:
Als je een chatbot voor msn aan het ontwikkelen ben, dan kan je het beste op een echte programeertaal over gaan. (En dus niet een script taal zoals php, want php die gooit na x aantal seconde het script er uit. En als je die tijd wilt verlengen dan pomp je geheugen weer vol.).
Als dat ip je eigen ip is dan moet je of wat porten open gooien (1337), en misschien forwarden, en anders kan je niet van buitenaf je eigen netwerk benaderen.
poort 1337 wordt al doorgestuurd naar mijn pc, anders konden de mensen ook niet op de chat :P

Acties:
  • 0 Henk 'm!

  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 05-09 14:30

DizzyWeb

Ondertiteld

Lang niet alle routers kunnen dat aan, van binnen, een poort buiten benaderen, die weer naar binnen geforward is.

Acties:
  • 0 Henk 'm!

  • ibmos2warp
  • Registratie: Januari 2007
  • Laatst online: 20-11-2023

ibmos2warp

Eval is Evil

Saven schreef op woensdag 24 oktober 2007 @ 15:46:
[...]
poort 1337 wordt al doorgestuurd naar mijn pc, anders konden de mensen ook niet op de chat :P
Jah, wat DizzyWeb zegt. En het kan dus ook nog zo zijn dat je van je ISP niet van buiten je netwerk mag benaderen. Dan kunnen ze de boel blocken.

Ik weet alles van niks
Vind Excel ongelovelijk irritant.


Acties:
  • 0 Henk 'm!

  • Saven
  • Registratie: December 2006
  • Laatst online: 13:48

Saven

Administrator

Topicstarter
oh oke.
bedankt voor de replys :)
Pagina: 1