Packets PHP — различия между версиями
Материал из Perfect World Develop Wiki
(Новая страница: «== PHP == * Код класса PHP для работы с пакетами === Example === Get nickname by ID. Packet: GetRoleBaseArg (gamedbd). <syntaxh…») |
|||
Строка 6: | Строка 6: | ||
include("packet_class.php"); | include("packet_class.php"); | ||
$GetRoleBase = new WritePacket(); | $GetRoleBase = new WritePacket(); | ||
− | $GetRoleBase -> WriteUInt32(-1); // always | + | $GetRoleBase -> WriteUInt32(-1); // always for gamedbd |
$GetRoleBase -> WriteUInt32(1024); // roleid | $GetRoleBase -> WriteUInt32(1024); // roleid | ||
$GetRoleBase -> Pack(0xBC5); // opcode | $GetRoleBase -> Pack(0xBC5); // opcode |
Версия 13:42, 19 июня 2018
PHP
Example
Get nickname by ID. Packet: GetRoleBaseArg (gamedbd).
<? include("packet_class.php"); $GetRoleBase = new WritePacket(); $GetRoleBase -> WriteUInt32(-1); // always for gamedbd $GetRoleBase -> WriteUInt32(1024); // roleid $GetRoleBase -> Pack(0xBC5); // opcode if (!$GetRoleBase -> Send("localhost", 29400)) // send to gamedbd return; $GetRoleBase_Re = new ReadPacket($GetRoleBase); // reading packet from stream $packetinfo = $GetRoleBase_Re -> ReadPacketInfo(); // read opcode and length $GetRoleBase_Re -> ReadUInt32(); // always $GetRoleBase_Re -> ReadUInt32(); // retcode $GetRoleBase_Re -> ReadUByte(); // version $GetRoleBase_Re -> ReadUInt32(); // id echo $GetRoleBase_Re -> ReadUString(); // show rolename ?>
Comments on WritePacket
- Для работы с пакетами gdeliveryd следует установить true значению passestablished.
... $packet = new WritePacket(); $packet -> passestablished = true; ...
- Для игнорирования ответного пакета (применительно к пакетам, у которых вообще нет ответных) следует установить false значению getresponse.
... $packet = new WritePacket(); $packet -> getresponse = false; ...