Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 PHP Chat c IRC!!!
  1. Въведение
  2. Клас за връзка
Magenta
     
Автор  Magenta (09.05.2004 23:09)  съобщение до автора
Погледнат  3606 пъти  добави към любими
Оценка  добави коментар
Гласове  5  изпрати на приятел
Коментари  (1)  абонирай се за PHP
    Страница 2 / 2

 



А сега целиа клас с пример за изпращане на съобщение
irc.php:

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?PHP
class Irc
{
 
var $RemoteHost;
 
var $Nick;
 
var $Port;
 
var $ircsocket;
  
 
function Irc ( $RemoteHost, $Nick, $Port = 6667 )
  {
   
set_time_limit(0);
   
ob_end_flush();
   
$this->RemoteHost = $RemoteHost;
   
$this->Nick = $Nick;
   
$this->Port = $Port;

   
$this->Connect();
 
}
  
 
function Connect()
  {
    
$this->ircsocket = fsockopen ($this->remotehost, $this->remoteport) ;
       
if (! $this->ircsocket) {
           
die ("Error connecting to host.");
       
}
        
fputs ($this->ircsocket, "USER ".$this->Nick." 66.119.161.165 irc.tooltime.net :Nice Guyrn");
       
fputs ($this->ircsocket, "NICK ".$this->Nick."rn");
 
}
  
 
function Encoden()
  {
   
while (!feof($this->ircsocket))
    {
     
$incoming = fgets ($this->ircsocket, 1024);
       
$incoming = str_replace( "r", "", $incoming);
       
$incoming = str_replace("n", "", $incoming);
     
if (substr($incoming, 0, 1) == ":") {
           
$prefix = substr ($incoming, 0, strpos($incoming, ' '));
           
$incoming = substr ($incoming, strpos($incoming, ' ') + 1);
          
} else {
                   
$prefix = "";
               
}
       
$command = substr ($incoming, 0, strpos($incoming, ' '));
       
$incoming = substr ($incoming, strpos($incoming, ' ') + 1);
       
$params = explode (" ", $incoming);
       
if ($command == "PING") fputs($this->ircsocket, "PONG $incomingrn");
           
if ($command == "367")
      {
       
$this->MsgSend("Caminus","...........");
       
fputs($this->ircsocket, "QUIT Unexpectedrn");
     
}
    }
   
fputs($this->ircsocket, "QUIT Unexpectedrn");

 
}
  
 
function SocketWrite ($Message)
  {
   
fputs ($this->ircsocket, $Message."rn");
 
}


 
function MsgSend($Target, $Text)
  {
   
$this->SocketWrite("PRIVMSG ".$Target." :".$Text);
 
}
}
;

$Irc = new Irc("de.quakenet.org","TestNick");
$Irc->Encoden();
?>

Можете да видите тук също как се извиква класа. Надявам се да ви е полезно. Който иска може да го преработи ,защото в повечето случаи такъв скрипт се използва за локални режи,защото повечето провайдери имат firewalls.



 << Предишна страница  


Ключови думи: PHP chat irc internet relay chat


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

еми е сега го пробжах това ама нещо не работи.
Дава ми тази грешка -->
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /.../irc/chat.php on line 21

Warning: fsockopen() [function.fsockopen]: unable to connect to :0 (Unknown error) in /.../irc/chat.php on line 21
Error connecting to host.
сървара го написах с името му и след това с айпи и пак не стана

  dasa на 01.05.2006 19:17

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008