So here's my problem - I'm writing a simple client/server application that uses TCP/IP between two separate tasks running on different processors. The sender is running on VxWorks 5.4, which is where the problem is occurring. I have a loop where I'm sending six small messages (less than 32 bytes) in a tight loop (six calls to "write" within a loop). If just the "write" is in the loop some of these messages are lost, and never make it to the receiver. However, if I put in some printf statements or just a taskdelay into the loop, then the messages are delivered with no problem.
Anybody have a clue as to what is going on? I could live with the taskdelay in there, but it seems awful kludgy. Is there maybe some sort of TCP option that needs to be set to allow this to work? My guess would be that this is some sort of quirk in the quirky VxWorks TCP stack...
Anybody have a clue as to what is going on? I could live with the taskdelay in there, but it seems awful kludgy. Is there maybe some sort of TCP option that needs to be set to allow this to work? My guess would be that this is some sort of quirk in the quirky VxWorks TCP stack...