<< I have two computers running windows XP, hooked up to a cable modem. The provider keeps assigning them IPs that are on different subnets, so they have to go out to the ISP and back when talking to each other. This is causing them to have pings in excess of 500ms at times. Is there any way to specify a single IP as local, or will I need to staticly assign them a subnet mask of like 255.255.248.0 in order to get them to talk properly? Currently the adresses are x.x.115.x and x.x.116.x >>
Not sure of your setup! Does each PC have it's own cable modem or are they both connected to the same cable modem via a switch/hub with uplink/crossover?
It sounds like you have a hub/switch, and one cable modem, right? Otherwise, if you were on two separate cable modems (two physical locations), you would expect each PC to go out to the internet to communicate! I don't see why changing the subnet wouldn't work, but I just don't know if this would not work.
With 2000/XP since they can accept changes without rebooting and your ISP is assigning addresses dynamically (so the PC's have to be dyanmic), then I would try the following using your subnet mask idea (what can it hurt to try?):
After each PC connects to the ISP and receives an IP address, run ipconfig /all. Get the IP addresses (and all IP info), for each PC. Then manually enter the same assigned IP address, dns server, gateway that was dynamically assigned and apply the different netmask which will cover both IP addresses. Try playing for that session. So this would only work for as long as the same IP address is assigned by the ISP. Would this really be a solution?