On 10 Dec 2002, Martin Wilck wrote:
Hi Martin!
judging from the Traces these programs are rare examples of lame network programming. You find series of things that shouldn't be done, such as bind()ing in a client application, not closing down a socket cleanly but expecting the next bind() to the same address to succeed, polling the socket with ioctl (FIONREAD), etc.
And this is only the coding side - also the logic used for the network code is not that smart. But id like to say that both games use quite the same code and both applications run AFAIK without problems in win9X, win2k and winxp. I could also trace it with other -winver settings if you like. But the last time i tested the games both where not able to find their network devices in >win9X - which let me believe that there is something like HK../NetTrans/... also in the NT branch of windows.
So whatever they do, the do it either because wine makes them believe they have to do it or the behaviour of windows differs here in handling this situation. Id be glad to help where i can - but i dont have much more clues about it here.
I am really asking myself if it's right to hack wine to violate the specs just for the sake of so poorly programmed applications. I'd be grateful for advice by experienced Wine hackers here. Perhaps we need to introduce Windows version-dependent behavior.
My intention was not to cause much trouble with this hack. My intention was to make the games work and therefore ask for some help here. If this results in much work and trouble id say its not worth it. I will provide my hack further for the people asking me for it and i will make it clear to them, that this hack is in no way good, tested, ok with this group, ...
CU!