I am using multicast (i.e. UDP) to distribute very high volume market data around a network. For my particular architecture, it turns out that larger packet sizes are more efficient (yes, I know this is not usually the case). However, when I dial up the packet size, I start running into WSAEMSGSIZE errors (socket error code 10040).
I am unable to find any documentation on how to determine what is the allowed packet size. It would be useful to know this in advance rather than trying to tweak the numbers until my app breaks. Can anyone provide any guidance on determining what value will trigger WSAEMSGSIZE and whether it can be configured directly. I've tried SET_SENDBUF and SET_RECVBUF, but these didn't seem to work very well. I think there may be something else in the network that is causing the limitation.
Both sending and receiving machines are running Windows Server 2003. My app is developed in C# 2.0 using VS2005. All multicast traffic is confined to a single sub-net (provided as a VLAN on a Cisco Catalyst switch) with no routers.