Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/04/2011, 14h41   #1
Invité régulier
 
Inscription : juillet 2006
Messages : 28
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 28
Points : 8
Points : 8
Par défaut Bot IRC et socket

Bonjour, j'ai écris ce bout de code php pour commencer un bot irc mais actuellement le peut qui est fait semble mal fait.
En effet le bot IRC est horriblement long a répondre. il suffit qu'il y ai une dizaine de personne qui parlent en même temps et le bot est a la ramasse.
Avez vous une idée pour améliorer mon code et le rendre plus rapide ?
Code :
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
<?php
set_time_limit(0);
ini_set('max_execution_time', 0);
 
$conf = array(
              "server" => "kubrick.freenode.net",
              "port" => "6667",
              "name" => "Carn1vore",
              "user" => "Carn1vore",
              "chan" => "#t0t01"
              );
 
function init_connect($conf) {
 
  $socket = socket_create(AF_INET, SOCK_STREAM, 0);
  socket_set_option($socket,SOL_SOCKET,SO_REUSEADDR,1);
  socket_connect($socket, 'irc.freenode.org', 6667);
  $buf = socket_read($socket, 2048);
  print_r($buf);
  socket_write($socket , "USER ".$conf['name']." ".$conf['chan']." ".$conf['user']." .\r\n");
  $buf = socket_read($socket, 2048);
  print_r($buf);
  socket_write($socket , "NICK ".$conf['name']."\r\n" );
  $data = socket_read($socket, 2048);
  print_r($data);
  while ($data = socket_read($socket, 2048)) {
    print_r($data);
    $retour = explode(':',$data);
    if(rtrim($retour[0]) == 'PING')
      socket_write($socket,'PONG :'.$retour[1]);
    if($data)
      print_r($data);
    if(preg_match('#:(.+):End Of /MOTD Command.#i',$data))
      $continuer = 0;
    socket_write($socket , "JOIN ".$conf['chan']."\r\n" );
    break;
  }
  while ($data = socket_read($socket, 300)) {
    //echo mktime() . " : " . $data;
    //$date = mktime();
    socket_write($socket,"PRIVMSG ".$conf['chan']." :foobar\r\n");
  }
}
 
 
$socket = init_connect($conf);
 
?>
Spami est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h55.


 
 
 
 
Partenaires

Hébergement Web