Kapcsolódás fsockopen-nel DC-re
Hello,
Azt szeretnem meg tudni hogy hogyan lehet egy aktiv fsockopen kapcsolatban "meg alapitani", hogy a szervertol amelyre csatlakoztunk meg kaptunk-e egy bizonyos valaszt...
Egy Direct Connect YnHub-ra csatlakozok a dc protokol szerint kapok a szervertol egy $Lock <lock> Pk=<pk>| valaszt azonal ahogy a socket kapcsolat megnyilt, erre kell adjak egy $Key <key-generated-from-lock>|$ValidateNick <nick>| valaszt a szerver erre valaszol $HubName <hub-name>|$Hello KEFE2| es en erre kellene valaszoljam $MyINFO $ALL <nick> <intrest>$ $<speed>$<email>$<share>$|$Version 1.0091|$GetNickList|, a problemam az hogy nem tudom hogyan kellene a scriptet "varatni" a reply-k kuldesevel egesz adig mig a szerver nem valaszol pontosaban nem keri a megfelelo replyt, jelent pillanatban a scriptel idaig jutotam el:a test2.php van a key2lock funkcio ami jelen pillanatban nem fontos es amugy mukodik (ha nem mukodne a server nem kuldene a $Hello| valaszt), de sajnos a fenti scriptem csak a $Hello| valaszig jutt el valahogy varatnom kellene a scriptet hogy NE kuldje a $MyINFO sort egesz adig mig a szerver nem keri ezt viszont sajnos nem tudom hogyan kellene meg oldanom...
■ Azt szeretnem meg tudni hogy hogyan lehet egy aktiv fsockopen kapcsolatban "meg alapitani", hogy a szervertol amelyre csatlakoztunk meg kaptunk-e egy bizonyos valaszt...
Egy Direct Connect YnHub-ra csatlakozok a dc protokol szerint kapok a szervertol egy $Lock <lock> Pk=<pk>| valaszt azonal ahogy a socket kapcsolat megnyilt, erre kell adjak egy $Key <key-generated-from-lock>|$ValidateNick <nick>| valaszt a szerver erre valaszol $HubName <hub-name>|$Hello KEFE2| es en erre kellene valaszoljam $MyINFO $ALL <nick> <intrest>$ $<speed>$<email>$<share>$|$Version 1.0091|$GetNickList|, a problemam az hogy nem tudom hogyan kellene a scriptet "varatni" a reply-k kuldesevel egesz adig mig a szerver nem valaszol pontosaban nem keri a megfelelo replyt, jelent pillanatban a scriptel idaig jutotam el:
<?php
require("test2.php");
$addr = "127.0.0.1";
$port = "411";
$fp = pfsockopen($addr, $port, $errno, $errstr, 1);
$KeyLockString = fgets($fp, 73);
$KeyLockString = substr($KeyLockString, 6);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$KeyString = lock2key($KeyLockString);
$out = "\$Key $KeyString|\$ValidateNick KEFE2|\r\n";
$out .= "\$MyINFO \$ALL KEFE2 TestPHPBot Control\$ \$BOT1\$akarmi##kukac##valami.com\$0\$|\r\n";
$out .= "\$Version 1.0091|\r\n";
$out .= "\$GetNickList|\r\n";
fwrite($fp, $out);
$sockReply_t = fgets($fp, 128);
echo "$sockReply_t\n\n<br>";
echo fgets($fp, 128);
}
fclose($fp);
?>
szerintem
üdv.: Zsolt
megoldva