RMQ message size limit

egoregor Moscow
Hi, I get an error (41708: RMQ Error - Invalid message) while trying to recieve message (ASCII symbols) from PC app. I found out, that strings more than 80 symbols raise this error.
But message size limit is 444. So, I don't get it :neutral:

I know, there is a limitation for socket recieving for strings (max. number of characters 80 can be handled). Maybe there's the same limitation for RMQ?

Here is my code:

        public void SendMessage(string strMsg)
        {
            //> 80 symbols (not working)
            //strMsg = "LF'L'R'D'RBDU'B'U'BU2BUB'ULU'L'U'B'U'BFUF'U'FUF'U'FUF'U'RU2R'F'U2FL'BLUL'U'B'ULU'R'U2RU2R'FRUR'U'R'F'R2U";

            //80 symbols (working fine)
            strMsg = "LF'L'R'D'RBDU'B'U'BU2BUB'ULU'L'U'B'U'BFUF'U'FUF'U'FUF'U'RU2R'F'U2FL'BLUL'U'B'ULU";

            //Message size limit - 444
            MessageBox.Show(tRob1Queue.MessageSizeLimit.ToString());

            //Clear byte
            Byte[] data = null;

            //Create message data
            data = new UTF8Encoding().GetBytes("string;\"" + strMsg + "\"");

            //Place data and sender information in message
            sendMessage.SetData(data);
            sendMessage.Sender = myQueue.QueueId;

            //Send message to the RAPID queue
            tRob1Queue.Send(sendMessage);
        }

Comments

  • egoregor Moscow
    dnilsson said:
    Test sending a message from the robot to the PC with 80 characters and check the message size of that message when you receive it.
    Not sure I understand you correctly, but message size in RAPID is 80 characters. 
  • dnilssondnilsson Gothenburg admin
    edited May 12
    The limitation here would be the string itself. Try to create a program with a string longer than 80chars and it will tell you it's too long.
  • egoregor Moscow
    Is there a way to send a message in bytes (similar to raw data)? Or should I split the message into 2 parts?
Sign In or Register to comment.