Jump to content

Differences in Windows 9x Winsock2 API?


sp193

Recommended Posts

Some programs like utorrent, which have previously support Windows 9x, have now discontinued Windows 9x support.

For utorrent, only Windows NT is support (Windows 2000 and XP are also Windows NT builds).

With KernelEX, some of these programs will work. However, I've noticed that the networking parts of some programs built for Windows NT will NOT work properly on Windows 9x.

I've done a high-level comparison on the Winsock 2 API (And compared the oridinal numbers), but I can't see any difference in functions between the Winsock layer of Windows NT and Windows 9x.

I know that newer versions of Windows NT (2000 and XP) have extra functions built into it's Winsock 2 layer, but Windows NT has a layer that's similar to Windows 95's Winsock2 update.

Any ideas on why such NT-only programs don't work on properly Windows 9x?

Utorrent 1.85 and later may give a "hostname not found" error (Error 404 I believe), and Orbit Downloader's grabber will not be able to capture streams.

For some of us, using utorrent 1.72 is not an option as some ISPs have sandvine to brutally throttle(Or totally block) connections.

Edited by sp193
Link to comment
Share on other sites


Long shot: W2000+ has support for IPv6. Functions as getnameinfo() can work in both ipv4 and ipv6, depending on the parameters. Maybe the w9x winsock2 gives the wrong return and/or WSAGetLastError() values when IPv6 functionality is asked.

Link to comment
Share on other sites

I remember reading about a bug in Win9x WinSock 2 implementation. It would sometimes say it would have to block when it wouldn't need to. I can't find that info again, though, even though I found the site on which I remember it was mentioned.

Link to comment
Share on other sites

Guest wsxedcrfv

I've been running uTorrent 1.8.5 build 17414 for a few weeks now on this win-98se system, and it runs fine. I also have KernelEx 3.6.

Link to comment
Share on other sites

I've been running uTorrent 1.8.5 build 17414 for a few weeks now on this win-98se system, and it runs fine. I also have KernelEx 3.6.

Like wsxedcrfv, I'm running the same version of uTorrent (but I have KernelEx 4.0 Final 2).

As far as I know it doesn't required KernelEx at all.

Link to comment
Share on other sites

I've been running uTorrent 1.8.5 build 17414 for a few weeks now on this win-98se system

But can your client connect and get information from the torrent's trackers? I get "hostname not found" for ALL my trackers. Only 1.72 (The only old client which I have) works properly for me.

Maybe your build is older that the 1.85 which I used to have. I think that I DID manage to get an "old" 1.85 to work (Before upgrading to the final 1.85 release)... but I can't remember clearly.

BTW I now only have utorrent 2.00 beta build 17668 on my system now (Other than 1.72), and have KernelEx 4.0 Final 2 installed.

That build, and all post v1.72 builds that I had in the past work properly on my Windows XP installation (Same PC, just multi-booted).

Long shot: W2000+ has support for IPv6. Functions as getnameinfo() can work in both ipv4 and ipv6, depending on the parameters. Maybe the w9x winsock2 gives the wrong return and/or WSAGetLastError() values when IPv6 functionality is asked.

Maybe... but what about Windows NT 4.0 SP4? It's supported by utorrent officially but doesn't come with IPv6 support out-of-the-box.

IPv6 is also alien technology to Windows NT 4.0 (Not to mention Windows 9x too).

Why would you go all the way back to version 1.72 when 1.77, 1.8, and 1.82 all work on 98?

The only "official" version I have which I still have which still works with Windows 98 is 1.72. Does 1.82 already have the "new, improved" encryption which 1.85 offers? Also, pre-2.00 versions do not have UDP tracker support.

My ISP totally blocks out bittorrent traffic, legal or not (0KB/s upload and download speed, unless I use lvl 4 encryption).

Also, Orbit Downloader has a similar problem. It grabber does not work on Windows 9x (Maybe more than just the grabber does not work?), but Windows NT 4.0 is again listed as a supported OS.

From what I know, Windows NT 4.0 is just the NT counterpart to Windows 95 (August 24, 1995 release).

Like wsxedcrfv, I'm running the same version of uTorrent (but I have KernelEx 4.0 Final 2).

As far as I know it doesn't required KernelEx at all.

It does. If you don't have KEX installed, you'll get "This program expects a newer version of Windows" when you launch utorrent (Uninstall KEX and run utorrent 1.85 to see that message). KEX also disables the Windows version check.

I remember reading about a bug in Win9x WinSock 2 implementation. It would sometimes say it would have to block when it wouldn't need to. I can't find that info again, though, even though I found the site on which I remember it was mentioned.

Keep me posted. I think that this may be possible. I also remember that there was a site saying that there WAS a bug in Windows NT 4.0's (And Windows 95's) Winsock2 stack (But did not say anything about WIndows 98 nor Windows ME's stack).

Edited by sp193
Link to comment
Share on other sites

Guest wsxedcrfv
I've been running uTorrent 1.8.5 build 17414 for a few weeks now on this win-98se system

But can your client connect and get information from the torrent's trackers? I get "hostname not found" for ALL my trackers. Only 1.72 (The only old client which I have) works properly for me.

You might get "hostname not found" because

a) you have a hosts file that is blocking them

b) are you running something like peer guardian? Maybe it's blocking them

c) the trackers you're having problems with are pirate bay (which no longer operates any trackers)

The torrents I have running right now have a list (the same list) of about 40 trackers (it's a list I put together myself from a few different places). Two of them are showing http 404 error, but the rest are "working". I also have peer exchange, Local peer discovery, and DHT turned on.

Maybe check your port-configuration and router port-forwarding.

Link to comment
Share on other sites

a. you have a hosts file that is blocking them

b. are you running something like peer guardian? Maybe it's blocking them

c. the trackers you're having problems with are pirate bay (which no longer operates any trackers)

a. No host file loaded or present. utorrent 2.00 shares the 1.72 configuration files. I also tried installing 2.00 somewhere else, in case the 1.72 files has caused the problem. But the "hostname not found" error is still there.

b. No firewall nor anti-virus installed. My PC is too old, and has too little resources to run them and yet get a reasonable performance.

c. Not pirate bay. All trackers, regardless of where they are from, cannot be connected (Even those that have an IP address listed there). 1.72 works properly, and can contact those trackers (Same torrent).

The torrents I have running right now have a list (the same list) of about 40 trackers (it's a list I put together myself from a few different places). Two of them are showing http 404 error, but the rest are "working". I also have peer exchange, Local peer discovery, and DHT turned on.

Same setup. Everything on 1.85/2.00 works properly for me, but the only thing it can't do it to connect to any tracker except for DHT.

1.72 works flawlessly here.

I also can't rule out system file damage though (Although highly unlikely. utorrent 1.72 and other Windows 98-compatible programs work properly). But I cannot format my system anymore (Too much data to shift, not to mention that it won't be worth it. This PC is already about to be decommissioned).

It can't be my SHELL32 as utorrent does not import any "new" functions that were added by SH95UPD (Neither are there any missing exports).

Maybe check your port-configuration and router port-forwarding

utorrent 1.72 works properly here. The ports are opened on my router (Meaning properly forwarded), and all options are set correctly. I just updated my router's firmware last night (DLink DIR-655, v1.30WW).

Edited by sp193
Link to comment
Share on other sites

Guest wsxedcrfv
utorrent 1.72 works properly here.

Why don't you try version 1.8.4? I think that was the last version to officially run on win-98.

Link to comment
Share on other sites

Sure thing. Pity about the lack of UDP tracker support though. But still better than without the "new" encryption though.

I'll post my results here when I find a copy.

But either way, did anyone here manage to get Orbit Downloader (Any version) to work properly with Windows 9x (All parts, including the grabber)?

EDIT:

I tried 1.84, 1.83, 1.82 and 1.81. All don't work properly. I get "hostname not found" errors for ALL trackers. It did seem like trackers listed with IP addresses could work, but I can't confirm that as most of them don't work in the first place (Offline(Timed-out) ).

Anyway, I checked again, and I found that I did NOT have utorrent 1.7.2 but 1.7.7. I guess that that's the only version which works properly on my setup.

Edited by sp193
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...