From what I have read, when using IPv4 addresses, sending 508 bytes, or less, will ensure the packet will not be fragmented, if sent.
I am interested in finding out if one could calculate run-time the packet size to maximize efficiency, with the added constraint of using only the WinSock2 library.