banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: HellsAngel  XML
Profile for HellsAngel Messages posted by HellsAngel [ number of posts not being displayed on this page: 0 ]
 
Đây là function thực thi của mình:
Code:
void Player::handleRequest(unsigned char* buf, int len){
try{
short header;
header = buf[2] + buf[3]*0x100;
printf("HANDLER [%x] Player: %s (%d,%d)\n",header,this->getName(),this->getRegionId(),this->getMapId());
handler->handle(PacketReader(buf, len, id));
}
#ifdef DEBUG
catch(PacketHandlingError ph){
cout << ph.getError();
}
catch (BadQuery er ) {
printf("%s\n", er.what());
}
#endif
catch(...){
//TODO
}
}


Còn đây là đoạn code gọi function trên:
Code:
bytesInBuffer += l;
if (bytesInBuffer == packetSize){
[B][COLOR="#FF0000"]player->handleRequest(buffer, packetSize);[/COLOR][/B]
bytesInBuffer = 0;
}


khai báo biến buffer:

Code:
private:
unsigned char buffer[BUFFER_LEN];


Ở đoạn gọi function handleRequest, biến buffer khi chạy là 1 mảng có 29 giá trị nhưng khi mình debug vào function handleRequest thì biến buf chỉ nhận giá trị đầu tiên trong mảng buffer khi truyền vào
Các bác chỉ dùm mình xem mình sai ở đoạn nào với smilie
 

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|