In my application, we want to adjust the maximum packet size we can send to the mqtt broker to 128KB. I found that the current packet size is 4096. See image (maximum packet size). I have tried to adjust this parameter, see highlighted part in the other image (adjusting packet size), but I constantly get an [AccessViolation] from the "CheckPoint" function. see image acces violation.
Does somebody has an solution on how to adjust this packetsize?
I am using the MQTT and the AWS IOT CORE library.
Solved! Go to Solution.
could we get projectarchive to investigate this?
I would propose to open a bugreport in the CODESYS store -> my question.
Thanks and kind regards
The AWS client is configured incorrectly.
You use a MQTT V5 property (which is not passed to the client) to set the max. payload size. This only exists for the MQTT client and in the case of MQTT V5 and is an info for the server (also says so in the help).
Seems that you use the Maximum Packet Size to inform the server that it will not process packets exceeding this limit.
The maximum packet size and the maximum payload size can be edited via the MQTTParam parameter list of the MQTT Client SL library at toplevel in the Library Manager. (see attached screenshot)
AWS IoT Core does not support MQTT V5
It's a bad idea to always transfer the maximum payload. see Publisher udiPayloadSize:= SIZEOF(GVL.wsJsonData).
It would be better to transfer the current length of the string.