Đây là function thực thi của mình:
Mã:
void Player::handleRequest(unsigned char* buf, int len){
try{
short header;
header = buf[2] + buf[3]*0x100;
printf("HANDLER [%x] Player: %s (%d,%d)
",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
", er.what());
}
#endif
catch(...){
//TODO
}
}
Còn đây là đoạn code gọi function trên:
Mã:
bytesInBuffer += l;
if (bytesInBuffer == packetSize){
player->handleRequest(buffer, packetSize);
bytesInBuffer = 0;
}
khai báo biến buffer:
Mã:
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
View more random threads:
Ngoại trừ một số ít trường hợp rãnh mũi - má và “râu rồng silicon” xuất hiện sớm, có khi từ tuổi thanh niên do cơ địa, còn lại, đại đa số do căn do lão hoá đã gây nên ba diễn biến: Giảm mô xương gò...
Cách thẩm mỹ má ở tuổi trung niên...