Hey ,
Thanks for the up, i’m still on it too (we play every tuesday evening with my friends and this is a very annoying problem for us so i work on it as much as i can).
I tried to sniff my network with wireshark but my limited network skills didn’t allow me to get any usefull info out of it.
The only difference i could notice between “it works” and “it doesn’t work” is that the data packets are present when it works and absent when it doesn’t, which is kind of obvious. But i couldn’t identify any reason why (like long time between packets and so on). So this was a shot in the water.
Next i noticed that when it didn’t work and i tried to use the “reupload” or “redownload” buttons in the “pawn properties”, i got very quickly a 100% CPU and a crash.
As those two buttons essentialy recreate a “PUT” or “GET” cvtpRequest, i went in detail into my code and found a huge bug !
The Stop() function, which delete and clean the socket, was only called in case of success, never in case of failure.
I added a correction at the end of the SendGet and SendPut functions in the CvtpRequest.cpp, so now both functions end like this:
// clean and close socket
bSucceeded = false;
Stop();
return false;
You might want to do the same corrections for your tests, as this is obviously a bug on my side (if the two places where you should add those lines are not clear, please let me know, i’ll send you more details).
Using my two computers, i still get some network errors (so i think our problem is still there), but at least now i can use the “reupload” and “redownload” buttons, which should provide a workaround.
I didn’t have yet the opportunity of testing this with my friends (all across France, a few hundreds of km away), i’ll test that next time we play all together, hopefully next tuesday.
Naturally i’ll let you know how it goes with this correction, ie. whether or not the images travel well and (if still not), whether or not the workaround works.
Cheers