Sockets maar eens in bepaalde tijd?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jim

Jim

22/04/2006 20:48:00
Quote Anchor link
Hallo,

Ik ben een IRC botje aan het maken, dit doe ik om ervaring te krijgen met sockets.
Nu vind ik het raar, want als ik (in comandline) me bot open connect hij de eerste keer meteen naar de irc server. Als dit gedaan is quit hij dezelfde seconde nog (dat probleem is nu niet belangerijk imo).
Maar dan moet ik nu soms wel tot een minuut wachten tot ik weer een connectie kan openen.

Is dit normaal? Of is er echt een fout?
Alvast bedankt :)
 
PHP hulp

PHP hulp

08/11/2024 21:04:33
 
Mitch X

Mitch X

22/04/2006 20:55:00
Quote Anchor link
Kan bij de irc server liggen ;)
Dan ben je er al op denkt ie.

En voor je andere probleem :
while( 1 )
{
// botcode
}
Zorgt voor een oneindige loop die je natuurlijk ieder moment met break kan beëindingen :)
 
Jim

Jim

22/04/2006 21:16:00
Quote Anchor link
Aha bedankt.
Het while gedeelte werkt ook perfect!

Heel er bedankt! ^_^

(btw.. Kurosaki Ichigo! :P)
 
Mitch X

Mitch X

22/04/2006 21:44:00
Quote Anchor link
Tijd voor een nieuwe ja :+
 
Jim

Jim

22/04/2006 23:16:00
Quote Anchor link
(bleach is ook een slechte serie maarja..)

Ontopic \o/
 
Jim

Jim

23/04/2006 13:46:00
Quote Anchor link
Is er trouwens ook een manier zodat php.exe niet 100% van me cpu inslikt? >_<


Zal door de while(1) komen zeker?

EDIT:
Ik zal even me code posten, zal wel handig zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
error_reporting(E_ALL);
set_time_limit(0);
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($socket, "irc.tweakers.net", 6667);
socket_write($socket,"USER ZonaX_Bot POEP.com poepagain :boty\r\n");
socket_write($socket,"NICK Chidori\r\n");
socket_write($socket,"JOIN :#test\r\n");
while($data = @socket_read($socket, 65000, PHP_NORMAL_READ)){
    echo $data;
    $fopen = fopen("bot/log.txt", "a");
    fwrite($fopen, $data);
    fclose($fopen);
}

while(1){
}

socket_shutdown($socket, 2);
socket_close($socket);
?>
Gewijzigd op 01/01/1970 01:00:00 door Jim
 
Mitch X

Mitch X

23/04/2006 14:53:00
Quote Anchor link
ZonaX?
Beat it :+
Als ie in #travian komt ban ik hem :X

Die while staat op de verkeerde plaats trouwens ;)
Maar zoals jij doet kan het ook, zorg dan wel dat als data leeg is dat je doorgaat.
Dus:
if( empy( $data ) )
continue;
 
DaeDaluz

DaeDaluz

23/04/2006 15:00:00
Quote Anchor link
Ik heb hier nog een OOP irc-bot liggen, maar de class is 550 regels (zonder commentaar) en het aanroepen van de class is ook zo'n 50 regels.. dus ik vindt hem iets te lang om hier te posten. Maar als je wil kan ik hem best mailen, stuur me maar ff een berichtje :)

Hij werkt wel met fsockopen ipv socket_create..

Edit: Ik heb zelf een usleep(100); in mn while geplaatst, want constant loopen is overbodig, hierdoor kost hij geen 100% van je cpu meer :)
Gewijzigd op 01/01/1970 01:00:00 door DaeDaluz
 
Jim

Jim

23/04/2006 15:24:00
Quote Anchor link
Ey DaeDaluz bedankt! Nu maar 2% :D

En mitch... Wie ben jij dan uit #travian? >_<
((@RonaldMade|Delta) sh4d3h zou het kunnen zijn :P)

Maarja genoeg gekloot... Ik kan weer verder dankzij jullie :)
Hardstikke bedankt!
 
Mitch X

Mitch X

23/04/2006 15:42:00
Quote Anchor link
Ronald moet zich nergens mee bemoeien :+
Vanavond heb ik wel weer tijd >:)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.