I have two separate loops in LabVIEW. The IPv6 server loop is running at 50 Hz and the IPv6 client loop is running double the rate at 25 Hz. This means that on average, the client calls my send subVI twice, every time the server calls the receive subVI.
When I run my program, the server always only receives the first message that the client sends and not the second message. However, what I do not understand is that the server's receive subVI then says that it has received a total number of bytes equal to Client message 1 + Client message 2.
For example:
Client sends message 1 = Hi
Client sends message 2 = Bye
Server receives message = Hi
Server number of bytes received = 7
What's going on here? I'd like to just receive the string 'HiBye' so that I can parse out separate messages with EOL characters.
Thanks.
Here are some screenshots of my LabVIEW program and C shared object library. Let me know if any other screenshots may help.
C Library Code:
Main VI (Server top loop, Client bottom loop):
Receive subVI: