Ja ik heb ook al veel gezocht op internet...
Het belangrijkste dat ik ooit vond was deze site...
https://social.msdn.microsoft.com/Forums/ie/en-US/3076a9cd-57a0-418d-8de1-07adc3b486bb/socket-fails-with-error-10022-when-application-is-run-from-certain-network-shares-on-vista-and?forum=wsk
Waar microsoft ook een soort update heeft dat ik spijtig genoeg in Wine niet kan toepassen... groeten...
De belangrijkste reden waarom je geen overlapped sockets mag gebruiken is dat Windows 7 met hezelfde probleem zit als WINE op GNU/LINUX. Programma's die jouw mogelijk zelfde paradigma gebruiken met WinSock plaagt ook Windows Software die echt louter op Windows zelf draait. Microsoft Windows zit dus ook in het schuitje als WINE zelf. Ik hoop dat je andere methoden kan vinden dan WinSock, er is bijvoorbeeld een reden dat software zoals Universal Media Server op OpenJDK of JAVA van Oracle draait.
Overlapped sockets zijn ook op Windows 7 en hoger uitgesloten van stabiliteit. De enige manier die dan overblijft is om te leren om geen Overlapped Sockets te gebruiken, dan zal het werken in alle Windows versies sinds XP en hoger en WINE.
P2P software op Windows gebruikt ook geen Overlapped Sockets, en oudere software waarbij ontwikkelaars ondanks open source aangeven hebben de optie gemaakt ' GEEN OVERLAPT SOCKECTS '.
Daarom dat belangrijke software voor multiple platforms met netwerk mogelijkheden gebruik maakt van OpenJDK en JAVA. Ondanks dat bijvoorbeeld Universal Media Server prima in native Linux had gedaan kunnen worden.
One more Thing, ARM CPU Architectuur komt er snel aan en zal gaan concurreren met x86/x64AMD en je zal dan zowieso ARM architectuur niet ondersteunen.
Ik ervaar geen enkele problemen met software die in WINE de configuratie heeft Overlapped Sockets uit te schakelen.
Je kan kijken of je een betere optie hebt bij het maken van een Socket, zowieso mag het geen Overlapped Socket zijn in WINE. Ik vermoed dat de ontwikkelaars achter WINE gezien dit soort sockets ook vanaf Windows 7 problemen geeft er daarom geen ondersteuning voor maken of het omzeilen. Zelfs met een lege IPTABLES werkte een WIN32 .exe programma korte tijd maar toen ik Overlapped Sockets uitschakelde voor dat programma werkte het feilloos op WINE.
Je kan dit wel degelijk prima doen bij het maken van de Socket, andere software doet dat ook optioneel. Het kwam met name sinds Windows 7 in beeld.
Daarnaast zijn er uiteraard Semaphores en MUTEXES, en Thread Dead Locks als je Overlapped Sockets gebruikt.
In Windows zitten heel veel dingen achter de schermen die in de broncode van Windows zelf software bugs omzeilen.
En WINE zal waarschijnlijk nooit BUGS in implementatie van User Land Software zoals de JOUWE wat feitelijk Microsoft zijn schuld is, willen omzeilen.
Microsoft heeft grote problem om zelfs hun eigen software compatible te houden. Er zijn genoeg websites voor code review over de broncode van Windows, en Windows zit echt vol met omzeilen van bugs in software van grote fabrikanten.
Je bent geen grote fabrikant. Ik ook niet, WINE ook niet. Maar STEAM wel. En daarom is er binnenkort een speciale versie van WINE genaamd ELECTRON.
Er is vast een alternatief desnoods SDL, waarvoor zie Wikipedia, dat is multiplatform. Gebruik maken van architectuur uit een lang verleden werkt gelukkig vaak op WINE en Windows.
Zelf heb ik ook wel wat klachten over WINE, met name dat software probleemloos werkt behalve dat ik met ALT-M het menu op moet roepen, en het gewoon doet, maar bijvoorbeeld dat het menu niet met de muis werkt.
Windows, bij Microsoft programmeerden ze zovaak om User Software implementaties heen, dat is eigenlijk vooral in het register van Windows 95 al duidelijk, waarbij voor honderden software programma's workarounds in Windows zitten.
Linux en WINE hebben een ander motto, het is op WINE de software die correct moet zijn, en workarounds zijn er liever niet.