Compiling and Sending UDP Packet

I do not understand UDP at all, and I could use some help figuring out some code to construct a UDP packet (If I even need too). I am using this documentation for the packet layout (GitHub - v1993/cemuhook-protocol: Mostly complete cemuhook protocol reference), but I am completely lost on how to implement this. Currently, I have figured I need the UDPXmitter Plugin and Byte mode on, and have written this thus far, but the server does not receive anything:
Capture

Any help is appreciated

Where did you find that extension? Any link?
You might want to ask the author

Taifun

Its this AI2 UDP extension: Ullis Roboter Seite/AI2 UDP

Even when looking at the documentation on the extension, I dont see anything that would allow me to create like Packet Headers and Mesaage types, which I need for the server to understand my input.

the author @Ulrich_Bien might be able to help
Taifun

You can't code a Cemuhook message as you did.

  1. You can't join strings via a list. You have to use then join block.
  2. The extension is not able to mix strings ("DSUC") and binaries ("0x10"). You have to encode "DSUC" to its ASCII equivalent: 0x44, 0x53, 0x55, 0x43

Are you sure that the receiver is not receiving? Or does the receiver not understand what you are sending?

You can send your message code to a label to see, what the transmitter gets for xmitting.

Please send further questions via e-mail (bienonline (at) gmx.de).

Your packet is malformed too. The CRC32 is missing and the packet length is wrong.

We prefer to have the discussion in the community
Answers might be helpful also for others in the future...
This is the purpose of a community
Thank you

Taifun

I fixed the Joining of strings and encoded DSUC, however I am not sure which string i need to change for CRC32 and the same for packet length.
image

There are still separators missing. You will get
"0x44, 0x53, 0x55, 0x430x10, 0x010x00, ..."
---------------------------------!--------------!-----

I told you to display the result in a label. Why don't you do that? Then you would have seen that the string is not correct.

There are various ways of calculating a CRC32 checksum: https://en.wikipedia.org/wiki/Cyclic_redundancy_check#Standards_and_common_use
Unfortunately, this is not described in the GitHub entry.

1 Like