Example #1
0
 function sendMessage(&$message)
 {
     if (!$this->ConSock) {
         debug(sprintf("Socket is not valid\n"));
         return false;
     }
     debug(sprintf("sendMessage : message Buffer is '%d'<br>\n", $message->Pos));
     debug(sprintf("sendMessage : message Buffer is '%d'<br>\n", strlen($message->Buffer)));
     $hd = new CMemStream();
     debug(sprintf("SendMessage number %u<br>", $this->MsgNum));
     $hd->serialUInt32($this->MsgNum);
     // number the packet
     $this->MsgNum += 1;
     debug(sprintf("After SendMessage, number %u<br>", $this->MsgNum));
     $messageType = 0;
     $hd->serialUInt8($messageType);
     $hd->serialString($message->MsgName);
     debug(sprintf("sendMessage : header size is '%d'<br>\n", $hd->Pos));
     //			$sb .= $message->Buffer;
     $size = $hd->Pos + $message->Pos;
     $Buffer = (string) chr($size >> 24 & 0xff);
     $Buffer .= chr($size >> 16 & 0xff);
     $Buffer .= chr($size >> 8 & 0xff);
     $Buffer .= chr($size & 0xff);
     debug("E" . gettype($hd->Buffer) . "<br>");
     debug("F" . gettype($message->Buffer) . "<br>");
     $Buffer .= (string) $hd->Buffer;
     $Buffer .= (string) $message->Buffer;
     debug("G" . gettype($this->ConSock) . "<br>");
     if (!fwrite($this->ConSock, $Buffer)) {
         debug(sprintf("Error writing to socket\n"));
         return false;
     }
     debug(sprintf("sent packet size '%d' (written size = %d) <br>\n", strlen($Buffer), $size));
     fflush($this->ConSock);
     return true;
 }