|
vxWorks networking quirks?
Does anyone have any experience with vxWorks and its networking stack? In particular, I'm wondering if anyone is aware of any quirks of the vxWorks stack that make it different enough from a normal BSD stack that could cause annoying errors if one wasn't aware of it.
I'm trying to use boost::asio to do this, so that I can run the project on my local machine and on vxWorks without too many problems. It took a small bit of effort to port asio to vxWorks, since theres a few type oddities that exist, and the open/ioctl calls vary slightly, but for the most part the patch was pretty trivial.
I'm using a modified version of the asio webserver example, and I have the thing working perfectly on my windows box.
However, on the cRio for whatever reason when serving pages, the buffers keep getting mixed up and it sends invalid data (but only for large files), and additionally it will sometimes *keep* sending data (hundreds of megabytes in fact) until some error occurs. This makes me suspect that one or more of the vxworks network calls are returning something that the asio code isn't expecting, and so it thinks that the data hasn't really been sent. Or something to this effect.
Any thoughts anyone could provide would be great.
__________________
Maintainer of RobotPy - Python for FRC
Creator of pyfrc (Robot Simulator + utilities for Python) and pynetworktables/ pynetworktables2js (NetworkTables for Python & Javascript)
2017 Season: Teams #1973, #4796, #6369
Team #1418 (remote mentor): Newton Quarterfinalists, 2016 Chesapeake District Champion, 2x Innovation in Control award, 2x district event winner
Team #1418: 2015 DC Regional Innovation In Control Award, #2 seed; 2014 VA Industrial Design Award; 2014 Finalists in DC & VA
Team #2423: 2012 & 2013 Boston Regional Innovation in Control Award
Resources: FIRSTWiki (relaunched!) | My Software Stuff
|