If checked, will add the #pragma pack(1) macro into the header file to force data structure packing to 1 byte so that the size of the exchanged structures with other computer will remain the same.
This packing will be done on user data classes inheriting from MsgData (see Engine/vt_sockets.h). MsgData is already packed and sized 8 bytes. The first 2 bytes are for the source, the following 2 bytes are for the type and the last 4 bytes are for the (total) length of the message.
So, if a MyMsg class inheriting from MsgData contains a short value, the size of MyMsg will be the following:
If Source ID is 0, this option is ignored: outgoing messages will not be stamped. If not zero, all outgoing messages will be stamped with the value (first byte of the header).
If Filter Out is checked, all incoming messages with same Source ID will be ignored but removed from the socket buffer !
.
This is useful when a socket writes to the same port as a listener, to avoid picking the sent data.
In order to process only messages from a specific source, add in the Socket Receive top part the following code: if (msg->source == whatever) ...
Deprecated old logic (copied here to help migrating your code) :
If Filter Out ischecked, only the incoming messages whose Source ID differs from the current Source ID value will be kept and processed. All with same ID will be discarded.
• If Filter Out is not checked, only the messages with the same Source ID will be kept and processed.