Igor: Heya. Some quick comments: > I am working on LAN detection. I implemented a good method of ping. > Function PingBroadcast does not use A.B.C.x form of ip. It takes > NetworkID and subnet mask (rather number of network bits). Now Kaboodle > will treat not only class C networks - any networks. All changes in CVS.
So...if my PC has the IP address 192.168.1.12 with a /24 subnet mask (ie, 24-ones, or 255.255.255.0), does this PingBroadcast send out 255 pings, or just *one* ping to 192.168.1.255? The second one doesn't work as well as it should, as most TCP stacks will not respond to such pings. Some do, sure. But most don't. Also, if the user sets up their subnet mask incorrectly as, say, /16 (255.255.0.0) do you now ping 65000 IP addresses at startup? I'm thinking that using the subnet mask is good only when it's larger than /24. In other words, we should set a maximum number of pings in a broadcast to 255. Also, does this work on all interfaces? And does it do the "self gateway" check we spoke about earlier? As you recall, if I dialup to AOL, I don't want to start ping'ing other AOL users. :) If an interface has the same IP address as its default gateway, it should not be PingBroadcast. This really is the highest priority fix that LAN detection needs. > Problem: I tried to test on a network with no Windows machines. It has several > hosts with just ip addresses without Windows. The popup "Detecting Network" > is on screen forever. I started debugging and saw that function > CCheckLan::CheckIsLan did not find any windows machines and set the flag > bIsLan to false. Then function StartPing made a return as soon as it checked the > flag (very unexpectedly) before any call to PingBroadcast. And the popup > remained on screen. I tried a previous version - the same. Should I remove > the macro _CHECK_NID that controls CCheckLan object? Or is this normal and > the only thing to do is to kill the popup as soon as StartPing returns? > (In that case if LAN does not have at least one Windows pc then it is > ignored). It's very odd that bIsLan gets set to false if there are no Windows machines on the network. That's not normal at all. When Kaboodle starts up, it should check the network to see if another Kaboodle instance is already running. If it fails that check (ie, it fails to get a NID that way) Kaboodle should then ping the whole LAN. You should change CCheckLan so that your test on the network with no Windows machines works like you expect it should. -Scott ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Kaboodle-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/kaboodle-devel